控制理論PID的理解

PID的理解

        關於理解PID控制算法最典型的一個例子就是一個漏水的水缸的問題。網上有很多講解PID的帖子會講到這個例子。這裏我也把我自己對於PID的理解用這個例子闡述一遍。

        有個漏水的水缸,而且漏水的速度還不是恆定的。然後我們還有個水桶,我們可以控制往水缸裏面加水或者從水缸裏面舀水出來。另外我們可以檢測水平面。現在我們的目的就是要控制水平面穩定在我們想要的任何一個平面上。

        注意我們使用PID需要在一個閉環系統裏面。什麼叫閉環系統,就是有輸入有反饋,輸就是能輸一個量去影響和控制我們的系統,反饋就是我們要能知道我們最終控制的東西的狀態。在這個漏水的水缸系統中,輸就是這個水桶,我們能通過水桶往水缸裏面加水或者從水缸裏面舀水出來來影響我們水缸的水平面,反饋的話也就是說我們要能測量水平面,知道水平面是多少。控制系統原理圖如下:

        我們來看看公式:

        其中Kp爲比例係數,Ti爲積分時間常量,Td爲積分時間常量。

比例控制理解

        首先是比例控制。比例控制就好比是通過水桶往水缸加水或者從水缸舀水。假設我們需要把水平面穩定在A平面,而實際水平面在B平面,那麼水平面差值Err=A-B,那這個時候我們需要往裏面加水的量就是Kp*Err,Kp就是我們的比例控制係數。

        如果A>B,Err爲正,就往水缸裏面加水;如果A<B,Err爲負,就從水缸裏面舀水出來。那麼只要預期水平面和實際水平面有差值,我們都會通過水桶去加減水來調整系統。同時Kp的大小也有對系統的性能有影響。如果Kp的值比較大,優點是從B平面達到A平面的速度快,缺點是在B平面已經接近A平面的時候系統會產生比較大的震盪。如果Kp的值比較小,優點是B平面在接近A平面的時候系統震盪小,缺點是從B平面達到A平面的速度慢。

        這裏也許有人會有疑問,如果這裏把比例控制係數Kp直接設置成1,然後加水的量直接爲Err=A-B不就可以了。然而實際上很多系統是做不到這點的。比如溫度控制系統,實際溫度爲10度,我要通過加熱把溫度提升到40度,這裏難道我們能一次性準確的給系統加30度?顯然這是做不到的。那麼比例控制的最終結果是Err的值趨向於0。比例控制部分公式如下圖:


微分控制理解

        然後我們先看看微分控制。在我們的比例控制的作用下,Err是開始減小的(假設一開始預期水平面A大於實際水平面B,也就是說Err是一個正值),那麼也就是說Err隨時間是一條斜率小於0的曲線,那麼在週期時間內,Err越大,微分的絕對值越大,那麼也就對Err的減小速度是起到抑制的作用的,直到最後斜率爲0微分纔會停止作用。微分公式如下:


    那麼隨着微分的影響,Err曲線的斜率最終是趨向於0的,如下圖:

積分控制理解

        積分控制部分的作用主要是用來消除靜差。那麼積分是怎樣來消除靜差的呢?

        比例控制只能儘量將Err調節到0,而微分的作用是將曲線的斜率控制到0則停止對其作用,但斜率爲0的時候Err並不一定爲0。

        這個時候我們就需要積分來起作用了。我們知道曲線的積分相當於曲線與x軸圍出來的面積。如下圖,積分作用的目的是使紅色部分的面積和藍色部分的面積的和爲0,那麼即使系統在比例控制和微分控制部分已經趨於穩定,只要Err不爲0就會存在靜差,只要存在靜差那麼積分就會對系統產生影響,直到系統的Err值爲0。那麼這樣我們的PID控制在理論上就可以達到一個非常精確的控制效果。

        來看看我們的積分公式部分:


PID算法離散化

        假設採樣時間間隔爲T,則在k時刻:

        偏差爲e(k);

        積分爲e(k)+e(k-1)+e(k-2)+...+e(0);

        微分爲(e(k)-e(k-1))/T;

        從而公式離散化後如下:



        比例係數:Kp,

        積分系數:Kp*T/Ti,可以用Ki表示;

        微分系數:Kp*Td/T,可以用Kd表示;

        則公式可以寫成如下形式:

        PID算法的離散形式就是這樣了,這就是我們平時說的位置式PID。

        接下來我們繼續推算增量式PID,根據上面公式我們可以求得:

        上式就是增量式PID的表現形式,計算出來的增量只跟最近三次的偏差值有關。注意這裏計算出來的是增量值,也就是說如果我們要求u(k)的話應該是

        那麼PID的離散化就長不多是這樣了,接下來我們看看PID的程序實現。



轉載自:https://blog.csdn.net/qq229596421/article/details/51419813


這裏有些關於PID相關的資料也講得非常好,大家也可以學習下。

http://wenku.baidu.com/link?url=XtnOjEGrIev7ZUmlwAIR7IEMG0YTvxV3YKpZMsVbEu8FWRsgAeVTLmJCe2K99fjsHuAGHq1c6_s6pqv6JJdYoiA1KcSQVLkV6HIW-_0w88m

http://wenku.baidu.com/link?url=DliKXRLALX6O-uW6glxLb5xW4RWIQm0Ia1PAR4nN4cguFAChMyoYk2XOaikcbIKBWCgmVnVsYnBLN1Ephm7Ly2SHvWioAN3drWlUgvvbFmi

http://blog.gkong.com/liaochangchu_117560.ashx

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