PID學習(一):基本概念+例子理解

一、定義

在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進行控制的PID控制器(亦稱[PID調節器],是應用最爲廣泛的一種自動控制器。
PID即:Proportional(比例)、Integral(積分)、Differential(微分)的縮寫

二、各部分詳解

總述:

 

image.png

1.比例係數P

  • 在y = k·x中的,k是比例係數p。
    其中,x是當前值currentValue和目標值totalValue的差值,簡稱誤差err,則err = currentValue - totalValue。y就是執行器對應的輸出值U,所以執行器對應的輸出值U = Kp * ( currentValue - totalValue )
  • 如果只有比例調節的話,系統會震盪的比較厲害。

2.微分系數D

  • 微分,實際上是對誤差進行微分。加入誤差1是err(1)。誤差2是err(2)。則誤差err的微分是 (err2 - err1)。乘上微分系數D,大家叫做KD,則當執行器第1次調節後有了第1次的誤差,第2次調節後有了第2次的誤差,則結合P係數。就有了PD結合,根據每次調節時,誤差的值的經驗推算,你就能選取出D的係數。
  • 公式爲 U(t) = Kp × err(t) + Kd × derr(t)/dt

3.積分系數I

  • 積分,實際上是對誤差的積分,也就是誤差的無限和

 

 

所以總公式爲

image.png

三、輔以例子理解

1.比例控制:
現在有一水缸,當前水位是0.2米,要通過往缸里加水的方式使其水位維持在1米的高度。那麼當前水位和目標水位之間的差值是error,爲0.8米。
如果單純的用比例控制算法,就是指加入的水量u和誤差error是成正比的。
假設kp取0.5,那麼t=1時(表示第1次加水,也就是第一次對系統施加控制),那麼u=0.5*0.8=0.4,加水0.4m,達到0.6m
接着,t=2時刻(第2次施加控制),加水0.2m,達到0.8m
如此這麼循環下去,就是比例控制算法的運行方法。
可以看到,如果不存在 穩態誤差,最終水位會達到我們需要的1米。

圖片解釋更加清楚

 

2.穩態誤差
系統從一個穩態過渡到新的穩態,或系統受擾動作用又重新平衡後,系統出現的偏差。
投射到上述例子中就是水缸會漏水。
如果每次加水的時候會漏水0.1m,我們會發現是加不到1m的,所以引入積分控制算法

 

 

3.積分控制算法
還是用上面的例子,第一次的error是0.8,第二次是0.4,至此,誤差的積分(離散情況下積分其實就是做累加),∫∫error=0.8+0.4=1.2. 這個時候的控制量,除了比例的那一部分,還有一部分就是一個係數ki乘以這個積分項。
由於這個積分項會將前面若干次的誤差進行累計,所以可以很好的消除穩態誤差(假設在僅有比例項的情況下,系統卡在穩態誤差了,即上例中的0.8,由於加入了積分項的存在,會讓輸入增大,從而使得水缸的水位可以大於0.8,漸漸到達目標的1.0.)這就是積分項的作用。
4.微分控制算法
類似於阻尼作用,使控制更加穩定
放入上面的例子中就是當發現水缸裏的水快要接近1的時候,加入微分項,可以防止給水缸裏的水加到超過1米的高度,說白了就是減少控制過程中的震盪。

5.請列舉一些你所瞭解的標準PID的侷限以及對應的修改, 並簡要分析其中的道理。(如果有實際使用PID控制器的經驗,也可簡要介紹你的項目經驗):

      關於P、I、D三個環節的選擇,一般只會用到PI控制或者PD控制,例如速度控制要求穩態無誤差,那麼就需要積分環節,所以使用PI控制;而使用方向控制的時候,由於不需要無穩態誤差,所以使用PD控制即可,D的作用是消除P環節所帶來震盪。

參考博客:

pid算法中位置型和增量型有什麼區別,分析兩者優缺點

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章