控制算法最經典的3個算法
3個算法,比例控制算法,微分控制算法,積分控制算法。
比例控制算法
我們先説PID中最簡單的比例控制,拋開其他兩個不談。還是用一個經典的例子吧。假設我有一個水缸,最終的控制目的是要保證水缸裏的水位永遠的維持在1米的高度。假設初試時刻,水缸裏的水位是0.2米,那麼當前時刻的水位和目標水位之間是存在一個誤差的error,且error為0.8.這個時候,假設旁邊站着一個人,這個人通過往缸里加水的方式來控制水位。如果單純的用比例控制算法,就是指加入的水量u和誤差error是成正比的。即
u=kp*error
假設kp取0.5
那麼t=1時(表示第1次加水,也就是第一次對系統施加控制),那麼u=0.5*0.8=0.4,所以這一次加入的水量會使水位在0.2的基礎上上升0.4,達到0.6.
接着,t=2時刻(第2次施加控制),當前水位是0.6,所以error是0.4。u=0.5*0.4=0.2,會使水位再次上升0.2,達到0.8.
如此這麼循環下去,就是比例控制算法的運行方法。
可以看到,最終水位會達到我們需要的1米。
但是,單單的比例控制存在着一些不足,其中一點就是 –穩態誤差!(我也是看了很多,並且想了好久才想通什麼是穩態誤差以及為什麼有穩態誤差)。
像上述的例子,根據kp取值不同,系統最後都會達到1米,不會有穩態誤差。但是,考慮另外一種情況,假設這個水缸在加水的過程中,存在漏水的情況,假設每次加水的過程,都會漏掉0.1米高度的水。仍然假設kp取0.5,那麼會存在着某種情況,假設經過幾次加水,水缸中的水位到0.8時,水位將不會再變換!!!因為,水位為0.8,則誤差error=0.2. 所以每次往水缸中加水的量為u=0.5*0.2=0.1.同時,每次加水缸裏又會流出去0.1米的水!!!加入的水和流出的水相抵消,水位將不再變化!!
也就是説,我的目標是1米,但是最後系統達到0.8米的水位就不在變化了,且系統已經達到穩定。由此產生的誤差就是穩態誤差了。
(在實際情況中,這種類似水缸漏水的情況往往更加常見,比如控制汽車運動,摩擦阻力就相當於是“漏水”,控制機械臂、無人機的飛行,各類阻力和消耗都可以理解為本例中的“漏水”)
所以,單獨的比例控制,在很多時候並不能滿足要求。
積分控制算法
還是用上面的例子,如果僅僅用比例,可以發現存在暫態誤差,最後的水位就卡在0.8了。於是,在控制中,我們再引入一個分量,該分量和誤差的積分是正比關係。所以,比例+積分控制算法為:
u=kp*error+ ki∗∫∗∫error
還是用上面的例子來説明,第一次的誤差error是0.8,第二次的誤差是0.4,至此,誤差的積分(離散情況下積分其實就是做累加),∫∫error=0.8+0.4=1.2. 這個時候的控制量,除了比例的那一部分,還有一部分就是一個係數ki乘以這個積分項。由於這個積分項會將前面若干次的誤差進行累計,所以可以很好的消除穩態誤差(假設在僅有比例項的情況下,系統卡在穩態誤差了,即上例中的0.8,由於加入了積分項的存在,會讓輸入增大,從而使得水缸的水位可以大於0.8,漸漸到達目標的1.0.)這就是積分項的作用。
3,微分控制算法
換一個另外的例子,考慮剎車情況。平穩的駕駛車輛,當發現前面有紅燈時,為了使得行車平穩,基本上提前幾十米就放鬆油門並踩剎車了。當車輛離停車線非常近的時候,則使勁踩剎車,使車輛停下來。整個過程可以看做一個加入微分的控制策略。
微分,説白了在離散情況下,就是error的差值,就是t時刻和t-1時刻error的差,即u=kd*(error(t)-error(t-1)),其中的kd是一個係數項。可以看到,在剎車過程中,因為error是越來越小的,所以這個微分控制項一定是負數,在控制中加入一個負數項
-
5e分數對應段位
5E平台的分數不穩定,所以5E上900分對應官方匹配的段位範圍較廣,大約對應白銀三到黃金一段位。無法達到ak水平。Csgo5E平台分數與官方匹配段位對應算法:ak對應1350分,麥穗對應1500分,雙ak對應1650分,菊花對應1800分。...
-
1997年11月19日是幾歲2021
1997年11月19日是2021年是24週歲。出生於11月19日的人,總是喜歡將自己所學所感「秀」給別人知道。如果是內向的人可能會選擇透過日記、書信、短文等文字形式,或素描、繪畫等藝術形式,將肚子裏的墨水「秀」出來。至於外向的人乾脆就直接透過與社會的互動,來貢獻自己...
-
海爾491是單循環嗎
海爾491是單循環,單循環冰箱壓縮機會頻繁啟動,噪音大,耗電量大,而且製冷不均勻,冷凍室往往會出現過冷現象,結很厚的霜...
-
情人節蛋糕文案簡短走心
在情人節的時候給愛人訂一個蛋糕,上面寫着情人節快樂,祝對方開心幸福的字樣,就是想表達自己對她的這份心意,給她一份驚喜。...