Professional Documents
Culture Documents
06b Estimator PDF
06b Estimator PDF
Automatic Control 1
State estimation and linear observers
University of Trento
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 1 / 13
Lecture: State estimation and linear observers State estimation
State estimation
A,B ˆ
x(k)
./$/-)-./&%$/-
Open-loop observer
!"#$%&'$()*+,'-..
A,B ˆ
x(k)
./$/-)-./&%$/-
The dynamics of the real system and of the numerical copy are
Open-loop observer
!"#$%&'$()*+,'-..
A,B ˆ
x(k)
./$/-)-./&%$/-
The estimation error is x̃(k) = Ak (x(0) − x̂(0)). This is not ideal, because
The dynamics of the estimation error are fixed by the eigenvalues of A and
cannot be modified
The estimation error vanishes asymptotically if and only if A is asymptotically
stable
Note that we are not exploiting y(k) to compute the state estimate x̂(k) !
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 4 / 13
Lecture: State estimation and linear observers State observer
Luenberger observer
!"#$%&'$()*+,'-..
+
ˆ
x(k) ˆ -
y(k)
A,[B L] ./$/-)
C
-./&%$/-
./$/-),1.-+2-+
Luenberger observer
!"#$%&'$()*+,'-..
+
ˆ
x(k) ˆ -
y(k)
A,[B L] ./$/-)
C
-./&%$/-
./$/-),1.-+2-+
Theorem
If the pair (A, C) is observable, then the eigenvalues of
(A − LC) can be placed arbitrarily
Proof:
If the pair (A, C) is completely observable, the dual system (A0 , C0 , B0 , D0 ) is
completely reachable
Then we can design a compensator K for the dual system and place the
eigenvalues of (A0 + C0 K) arbitrarily
The eigenvalues of matrix (A0 + C0 K) = eigenvalues of its transpose (A + K 0 C)
Define L = −K 0 . The theorem is proved.
MATLAB
where P = [λ1 λ2 . . . λn ] = desired observer
» L=acker(A’,C’,P)’;
» L=place(A’,C’,P)’; eigenvalues
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 7 / 13
Lecture: State estimation and linear observers Example of observer design
− 21 `1
`1
−1 0 1
−1
A − LC = − 0 =
1 −1 `2 2 1 −1 − 12 `2
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 8 / 13
Lecture: State estimation and linear observers Example of observer design
1 1 1
det(λI − A + LC) = λ2 + (2 + `2 )λ + `2 + `1 + 1
2 2 2
`1 = 18, `2 = 12
dx̂(t)
−1 −9 2 18
= x̂(t) + u(t) + y(t)
dt 1 −7 0 12
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 9 / 13
Lecture: State estimation and linear observers Example of observer design
MATLAB
» A =[1.8097 -0.8187; 1 0]; State-space model in discrete-time
» B = [0.5; 0];
A = 1.8097 −0.8187
, B = 0.5
» C =[0.1810 -0.1810]; 1 0 0
» D = 0; C = [ 0.1810 −0.1810 ] , D = 0
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 10 / 13
Lecture: State estimation and linear observers Example of observer design
MATLAB
40 x=[-1;1]; % initial state
^ xhat=[0;0]; % initial estimate
x1(t)
30 XX=x;
XXhat=xhat;
T=40;
20 UU=.1*ones(1,T); % input signal
for k=0:T-1,
10 u=UU(k+1);
y=C*x+D*u;
yhat=C*xhat+D*u;
0 x1(t)
x=A*x+B*u;
xhat=A*xhat+B*u+L*(y-yhat);
−10
0 10 20 30 40 XX=[XX,x];
time (s)
XXhat=[XXhat,xhat];
end
response
from
initial conditions plot(0:T,[XX(1,:);XXhat(1,:)]);
x(0) = −11 , x̂(0) = 0 for u(k) ≡ 0.1
0
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 11 / 13
Lecture: State estimation and linear observers Example of observer design
80
true state
estimator L1
60 estimator L2
estimator L3
MATLAB
40 L1=place(A’,C’,[.5 .7])’;
L2=place(A’,C’,[.75 .8])’;
20
L3=place(A’,C’,[.4 .5])’;
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 12 / 13
Lecture: State estimation and linear observers Example of observer design
English-Italian Vocabulary
Prof. Alberto Bemporad (University of Trento) Automatic Control 1 Academic year 2010-2011 13 / 13