背景
有些状态量并不能由传感器直接观测出来,那么可以通过控制量和输出量把状态量观测出来。
全状态观测器
对于一个系统 :
x
˙
=
A
x
+
b
u
y
=
c
x
\dot x=Ax+bu\\y=cx
x˙=Ax+buy=cx
如果已知A、b、c(也就是已知模型),那么可以观测出估计状态量
x
^
\hat x
x^:
x
˙
^
=
A
x
^
+
b
u
\hat{\dot x}=A\hat x+bu
x˙^=Ax^+bu
只要能获取原系统的初始状态,那么是可以得到
x
^
(
t
)
=
x
(
t
)
,
t
≥
0
\hat x(t)=x(t),t\ge0
x^(t)=x(t),t≥0的。
这就是开环状态观测器
开环观测器有个很大的问题是,如果A的特征值在右半平面,一旦某一个时刻的状态观测不准确,那么估计状态和实际状态之间的误差会越变越大,最终状态的估计完全失真。
这里留一个思考题,为什么说A的特征值在右半平面,系统会不稳定呢?(我们通常把这个当作一个结论) 答案我放在这篇博客里了【控制理论】【数学基础】为什么说对于dX=AX系统,A的特征值在右半平面系统不稳定。
既然开环观测器不稳定,那么引入一个修正项
L
(
y
−
c
x
^
)
L(y-c\hat x)
L(y−cx^),新的观测状态方程写作:
x
˙
^
=
A
x
^
+
b
u
+
L
(
y
−
c
x
^
)
\hat{\dot x}=A\hat x+bu+L(y-c\hat x)
x˙^=Ax^+bu+L(y−cx^)
L是需要设计的矩阵,相比于开环状态器,这个观测器形成了闭环。
闭环状态观测器的稳定要好很多,一起来分析一下,定义误差
e
=
x
−
x
^
e=x-\hat x
e=x−x^,
则:
e
˙
=
x
˙
−
x
^
˙
\dot e=\dot x-\dot {\hat x}
e˙=x˙−x^˙,把两个状态方程带入进去,有:
e
˙
=
(
A
−
L
c
)
e
\dot e=(A-Lc)e
e˙=(A−Lc)e,
那么只要
A
−
L
c
A-Lc
A−Lc的特征值全部在频域负半平面,那么误差最终肯定会收敛到零,而不论初始的误差有多大。
怎样可以让
A
−
L
c
A-Lc
A−Lc的特征值全部在频域负半平面呢,要满足系统(A,c)能观测。
全状态观测器的设计方法
1、根据期望的极点设计
(
s
−
λ
1
)
(
s
−
λ
2
)
.
.
.
(
s
−
λ
n
)
=
0
(s-\lambda_1)(s-\lambda_2)...(s-\lambda_n)=0
(s−λ1)(s−λ2)...(s−λn)=0,期望的极点等于
A
−
L
c
A-Lc
A−Lc的特征值。
2、实际中系统的状态方程肯定是有误差的,A这个状态矩阵没法得到,那么怎么解决?
step1、设计和A同维的矩阵F
step2、设计矫正矩阵L,使得系统(F,L)可观测
step3、计算矩阵T,
T
A
−
F
A
=
L
c
TA-FA=Lc
TA−FA=Lc
step4、新的状态矩阵
z
˙
=
F
z
+
T
b
u
+
L
y
x
^
=
T
−
1
z
\dot z=Fz+Tbu+Ly\\ \hat x=T^{-1}z
z˙=Fz+Tbu+Lyx^=T−1z
只要F矩阵稳定,那么误差最终会减小到零。证明过程比较简单,就不放了。
,