反积分饱和 程序_非常通俗易懂的PID控制(2)--积分饱和
第一篇在:
非常通俗易懂的PID控制(1) - 江知季的文章 - 知乎
上一篇講述了PID的原理,看起來控制是十分完美的,至少在理論上。
不過現(xiàn)實總是不完美的。
因為在PID輸出的控制信號(在理論上可以無限增大),但我們的執(zhí)行器卻是會飽和的,一旦達(dá)到飽和數(shù)值便不會再繼續(xù)增加,如電池的電流,音響的音量等。
這里主要敘述積分環(huán)節(jié)的問題。
以無人機為例,無人機機翼最多實現(xiàn)1000rpm,但此時需要2000rpm才能開始飛(設(shè)計的控制器問題),隨著轉(zhuǎn)速的增大(藍(lán)線),誤差逐漸減小,當(dāng)誤差為0的時候,即飛到50m高的地方時候,但此時轉(zhuǎn)速很大,無人機并不能維持不動,而是持續(xù)往上飛,因此誤差值會變成負(fù)的,此時無人機的速度會下降,直到達(dá)到維持高度不變的轉(zhuǎn)速,但此時無人機已經(jīng)不知道跑到哪兒去了(跑的比香港記者還快)。
紅色的部分為integral windup積分飽和。
所以我們需要一點手段,也就是clamp鉗制。在輸出命令后加一個clamping saturation控制飽和度,比較輸入前后的兩個值,看是否相同,如果相同說明沒有達(dá)到飽和,反之便是達(dá)到飽和,然后其中sign是看積分是持續(xù)增加的還是減少(1是增加,-1是減少)
即誤差本來是正的,輸出的信號還是正的,且輸出飽和,則需要鉗制。
誤差本來是正的,輸出的信號是負(fù)的,則不需要鉗制。
即滿足兩個條件:
(1)輸出信號飽和
(2)誤差與控制輸出信號符號相同
則實現(xiàn)鉗制。
最后的注意:因為現(xiàn)實的不完美,溫度改變,器械問題等,clamping saturation的值需要與actuator飽和的值是不一樣的,一般需要略小一點,小多少就看你對系統(tǒng)的理解程度了。
總結(jié)
以上是生活随笔為你收集整理的反积分饱和 程序_非常通俗易懂的PID控制(2)--积分饱和的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 判断变量是否有值返回bool_有没
- 下一篇: 骁龙660是32位还是64位_都是搭载骁