有些狀態量並不能由感測器直接觀測出來,那麼可以通過控制量和輸出量把狀態量觀測出來。
對於乙個系統 :
x ˙=
ax+b
uy=c
x\dot x=ax+bu\\y=cx
x˙=ax+
buy=
cx如果已知a、b、c(也就是已知模型),那麼可以觀測出估計狀態量x
^\hat x
x^:x˙^
=ax^
+bu\hat=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
−cx^
)l(y-c\hat x)
l(y−cx
^),新的觀測狀態方程寫作:
x ˙^
=ax^
+bu+
l(y−
cx^)
\hat=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
e˙=x˙−
x^˙,把兩個狀態方程帶入進去,有:
e ˙=
(a−l
c)e\dot e=(a-lc)e
e˙=(a−
lc)e
,那麼只要a−l
ca-lc
a−lc
的特徵值全部在頻域負半平面,那麼誤差最終肯定會收斂到零,而不論初始的誤差有多大。
怎樣可以讓a−l
ca-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
ca-lc
a−lc
的特徵值。
2、實際中系統的狀態方程肯定是有誤差的,a這個狀態矩陣沒法得到,那麼怎麼解決?
step1、設計和a同維的矩陣f
step2、設計矯正矩陣l,使得系統(f,l)可觀測
step3、計算矩陣t,ta−
fa=l
cta-fa=lc
ta−fa=
lcstep4、新的狀態矩陣
z ˙=
fz+t
bu+l
yx^=
t−1z
\dot z=fz+tbu+ly\\ \hat x=t^z
z˙=fz+
tbu+
lyx^
=t−1
z只要f矩陣穩定,那麼誤差最終會減小到零。證明過程比較簡單,就不放了。
關於狀態觀測器本質的理解
前面我們提到過,觀測器有很多種,其中一種就是狀態觀測器,對系統的某一狀態進行觀測。但是在實際中我們會遇到一種情況 就是我們獲取的某一狀態就是系統的輸出,即y x,那為什麼此時我們還要設計觀測器呢,直接將獲取的輸出作為狀態值不行嗎?於是這就體現了狀態觀測器的本質 濾波。我們經常接觸的卡爾曼濾波器就是一...
無感FOC滑膜觀測器學習
ctime 2020 02 04 20 40 32 0900 1580816432 目標是要通過滑膜觀測器來獲取電機轉子位置 根據電機的數學模型,只要得到a b 相的反電動勢即可算出位置 而可以較為簡單獲取的引數只有相電壓 ua ub uc 和相電流 ia ib ic 我一開始有乙個疑問,既然要ab...
互補濾波係數 從全狀態觀測器到卡爾曼濾波器(二)
本文使用 zhihu on vscode 創作並發布 寫在開頭從全狀態觀測器到卡爾曼濾波器 一 從全狀態觀測器到卡爾曼濾波器 二 從全狀態觀測器到卡爾曼濾波器 三 從全狀態觀測器到卡爾曼濾波器 四 我們現在希望用乙個超聲波測距感測器測量固定在直線軌道上的小車位置 其中為時刻測量值,為時刻溫度,為為時...