資源描述:
《PID算法通俗講解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、總所周知,PID算法是個(gè)很經(jīng)典的東西。而做自平衡小車(chē),飛行器PID是一個(gè)必須翻過(guò)的坎。因此本節(jié)我們來(lái)好好講解一下PID,根據(jù)我在學(xué)習(xí)中的體會(huì),力求通俗易懂。并舉出PID的形象例子來(lái)幫助理解PID。一、首先介紹一下PID名字的由來(lái):P:Proportion(比例),就是輸入偏差乘以一個(gè)常數(shù)。I??:Integral(積分),就是對(duì)輸入偏差進(jìn)行積分運(yùn)算。D:Derivative(微分),對(duì)輸入偏差進(jìn)行微分運(yùn)算。注:輸入偏差=讀出的被控制對(duì)象的值-設(shè)定值。比如說(shuō)我要把溫度控制在26度,但是現(xiàn)在我從溫度傳感器上讀出溫度為2
2、8度。則這個(gè)26度就是”設(shè)定值“,28度就是“讀出的被控制對(duì)象的值”。然后來(lái)看一下,這三個(gè)元素對(duì)PID算法的作用,了解一下即可,不懂不用勉強(qiáng)。P,打個(gè)比方,如果現(xiàn)在的輸出是1,目標(biāo)輸出是100,那么P的作用是以最快的速度達(dá)到100,把P理解為一個(gè)系數(shù)即可;而I呢?大家學(xué)過(guò)高數(shù)的,0的積分才能是一個(gè)常數(shù),I就是使誤差為0而起調(diào)和作用;D呢?大家都知道微分是求導(dǎo)數(shù),導(dǎo)數(shù)代表切線是吧,切線的方向就是最快到至高點(diǎn)的方向。這樣理解,最快獲得最優(yōu)解,那么微分就是加快調(diào)節(jié)過(guò)程的作用了。二、然后要知道PID算法具體分兩種:一種是位
3、置式的,一種是增量式的。在小車(chē)?yán)镆话阌迷隽渴剑瑸槭裁茨??位置式PID的輸出與過(guò)去的所有狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)e(每一次的控制誤差)進(jìn)行累加,這個(gè)計(jì)算量非常大,而明顯沒(méi)有必要。而且小車(chē)的PID控制器的輸出并不是絕對(duì)數(shù)值,而是一個(gè)△,代表增多少,減多少。換句話說(shuō),通過(guò)增量PID算法,每次輸出是PWM要增加多少或者減小多少,而不是PWM的實(shí)際值。所以明白增量式PID就行了。三、接著講PID參數(shù)的整定,也就是PID公式中,那幾個(gè)常數(shù)系數(shù)Kp,Ti,Td等是怎么被確定下來(lái)然后帶入PID算法中的。如果要運(yùn)用PID,則PID參數(shù)是
4、必須由自己調(diào)出來(lái)適合自己的項(xiàng)目的。通常四旋翼,自平衡車(chē)的參數(shù)都是由自己一個(gè)調(diào)節(jié)出來(lái)的,這是一個(gè)繁瑣的過(guò)程。本次我們可以不管,關(guān)于PID參數(shù)怎么確定的,網(wǎng)上有很多經(jīng)驗(yàn)可以借鑒。比如那個(gè)經(jīng)典的經(jīng)驗(yàn)試湊口訣:????????????????參數(shù)整定找最佳,從小到大順序查。????????????????先是比例后積分,最后再把微分加。????????????????曲線振蕩很頻繁,比例度盤(pán)要放大。????????????????曲線漂浮繞大彎,比例度盤(pán)往小扳。????????????????曲線偏離回復(fù)慢,積分時(shí)間往下降
5、。????????????????曲線波動(dòng)周期長(zhǎng),積分時(shí)間再加長(zhǎng)。????????????????曲線振蕩頻率快,先把微分降下來(lái)。????????????????動(dòng)差大來(lái)波動(dòng)慢,微分時(shí)間應(yīng)加長(zhǎng)。????????????????理想曲線兩個(gè)波,前高后低四比一。????????????????一看二調(diào)多分析,調(diào)節(jié)質(zhì)量不會(huì)低。四、接下來(lái)我們用例子來(lái)輔助我們把常用的PID模型講解了。(PID控制并不一定要三者都出現(xiàn),也可以只是PI、PD控制,關(guān)鍵決定于控制的對(duì)象。)(下面的內(nèi)容只是介紹一下PID模型,可以不看,對(duì)理解PID
6、沒(méi)什么用)例子:我們要控制一個(gè)人,讓他一PID的控制方式來(lái)行走110步后停下來(lái)。1)P比例控制,就是讓他按照一定的比例走,然后停下。比如比例系數(shù)為108,則走一次就走了108步,然后就不走了。說(shuō)明:P比例控制是一種最簡(jiǎn)單的控制方式,控制器的輸出與輸入誤差信號(hào)成比例關(guān)系。但是僅有比例控制時(shí)系統(tǒng)輸出存在穩(wěn)態(tài)誤差。比如上面的只能走到108,無(wú)論怎樣都走不到110。2)PI積分控制,就是按照一定的步伐走到112步然后回頭接著走,走到108步位置時(shí),然后又回頭向110步位置走。在110位置處來(lái)回晃蕩幾次,最后停在110步的位
7、置。說(shuō)明:在積分I控制中,控制器的輸出與輸入誤差信號(hào)的積分成正比關(guān)系。對(duì)一個(gè)自動(dòng)控制系統(tǒng)來(lái)說(shuō),如果在進(jìn)入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個(gè)控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡(jiǎn)稱有差系統(tǒng)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項(xiàng)”。積分項(xiàng)對(duì)誤差的影響取決于時(shí)間的積分,隨著時(shí)間的增加,積分項(xiàng)會(huì)增大。這樣,即便誤差很小,積分項(xiàng)也會(huì)隨著時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大,從而使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于0。因此,比例+積分(PI)控制器可以使系統(tǒng)在進(jìn)入穩(wěn)態(tài)后無(wú)穩(wěn)態(tài)誤差。3)PD微分控制,就是按照一定的步伐走到一百零幾步后,再慢
8、慢地走向110步的位置靠近,如果最后能精確停在110步的位置,就是無(wú)靜差控制;如果停在110步附近(如109步或111步位置),就是有靜差控制。說(shuō)明:在微分控制D中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。????自動(dòng)控制系統(tǒng)在克服誤差的調(diào)節(jié)過(guò)程中可能會(huì)出現(xiàn)振蕩甚至失穩(wěn),原因是存在較大慣性組件(環(huán)節(jié))或滯后組件,具有抑制誤差的作用,其變