PID及其衍生算法,是目前工業(yè)應(yīng)用最為廣泛的算法之一,是當(dāng)之無愧的萬能算法!
對于研發(fā)人員來講,熟練掌握了PID算法的設(shè)計與實現(xiàn)過程,就足夠應(yīng)對一般的研發(fā)問題了。
PID概念
PID是比例(Proportional)、積分(Integral)、微分(Derivative)的縮寫,將偏差的比例、積分、微分通過線性組合構(gòu)成控制量,用這一控制量對被控對象進行控制。
PID的控制流程簡單到不能再簡單,如圖1所示:
圖1:PID控制流程
通過這張流程圖,我們可以看到PID也是反饋控制,在PID控制中:
1.
第一步
根據(jù)反饋值和期望值求出誤差,比如軌跡跟蹤控制中,這個誤差就是車輛當(dāng)前位置和期望路徑之間的距離;
2.
第二步
求出誤差之后,再根據(jù)這個誤差值進行比例、積分和微分三項的計算,其中K p ,Ki和Kd分別是這三項的系數(shù),表示這三項對輸出控制量的影響的比重。
3.
第三步
最后將計算出來的比例、積分和微分三項進行求和,就得到最后輸出的控制量了。
PID的結(jié)構(gòu)是可以靈活改變的,因為根據(jù)實際情況,比例、積分、微分三項并不是都需要發(fā)揮作用的,所以PID控制器又往往可以變成P控制器和PD控制器。
接下來我們以軌跡跟蹤為例來分別討論:比例、積分、微分這三項的意義。
P概念
考慮一個簡單的情況,假設(shè)我們希望自動駕駛小車沿著圖中的路線行駛,但小車在如圖2所示的位置,那么需要轉(zhuǎn)多少度呢?
圖2:小車初始位置
如果我們給其輸入一個固定的值來轉(zhuǎn)向,那么小車的軌跡將會圖3中所示:小車會沿著車道中心線走蛇形曲線。
圖3:固定值轉(zhuǎn)向的小車行駛軌跡
顯然,如果我們坐在這樣的車上,一定會非常不舒服,因此駕駛技術(shù)嫻熟的老司機在變道或是轉(zhuǎn)向時,會一直調(diào)整方向盤,偏差大的時候轉(zhuǎn)動更多的角度,偏差小的時候,則轉(zhuǎn)角少一點。
PI中的P控制,也稱為比例控制,就是根據(jù)不同的偏差輸出不同的控制信號??刂破鞯妮敵龊洼斎氤烧龋灰畛霈F(xiàn),就能及時地產(chǎn)生與它成比例的控制信號,如下圖所示。
圖4:比例控制
在軌跡跟蹤控制的這個例子中可以用這個式子來表達:
steering=K p .e(t)
其中的e(t)就是期望值和反饋值的偏差,在這里指的是 車輛偏離期望路徑的距離 ,Kp就是比例控制的系數(shù),通常稱為 比例參數(shù) 。
我們可以這樣理解: 方向盤應(yīng)該轉(zhuǎn)動的角度是車輛偏離當(dāng)前車道的距離的倍數(shù),這個倍數(shù)就是Kp 。
在P控制中系數(shù)Kp會直接影響實際的控制效果。在合理的數(shù)值范圍內(nèi),Kp越大控制的效果越好,小車會越快的回到期望路徑附近,對比如圖5所示。
圖5:不同Kp時小車行駛軌跡
但是,如果小車本身的位置距離期望路徑很遠,并且Kp又比較大的時候,就會出現(xiàn)車輛失控的情況,如圖6所示:
圖6:Kp過大時車輛失控
如果單純地使用比例控制,小車可能會不停的穿越期望路徑,并且來回調(diào)整,并不能穩(wěn)穩(wěn)地按照車道中心線行駛。在控制領(lǐng)域中,稱這種現(xiàn)象為“ 超調(diào) ”。
PD概念
這樣看來PD控制好像已經(jīng)能夠?qū)崿F(xiàn)較好的控制效果了,但這只是對于正常的情況,當(dāng)環(huán)境存在擾動的時候。
比如說路面不平,車輛在受到外力作用下發(fā)生輕微偏移之后,由于比例控制傾向于向車道中心線方向運動,而微分控制則希望抵消這種傾向,這時候就可能造成車輛行駛路線與期望路徑之間有一個持續(xù)的偏差(如圖7所示),從而使得車輛始終無法沿著期望路徑行駛,這種偏差我們稱作“ 穩(wěn)態(tài)誤差 ”。
圖7:小車受擾動后產(chǎn)生偏移后的軌跡
為了消除穩(wěn)態(tài)誤差,我們需要再引入一項—— 積分項 。我們同樣把偏差的積分乘以一個系數(shù)K i ,加入到比例微分控制的表達式中去:
那么現(xiàn)在的控制輸出就變成了比例項、積分項和微分項的和的形式,現(xiàn)在控制器就由PD控制器變成了PID控制器,也就是比例、積分、微分控制器。
積分控制其實很好理解,穩(wěn)態(tài)誤差持續(xù)一段時間后,車輛的真實軌跡跟期望路徑會形成一個長條形的區(qū)域。這個區(qū)域可以稱之為累積誤差****。
這個累積誤差,實際上是長條形區(qū)域的面積,而這個區(qū)域的面積就可以用偏差的積分來表示。
加入積分項以后,控制函數(shù)會盡可能使車輛實際運行軌跡的積分盡可能?。ㄒ簿褪鞘管囕v實際運行軌跡和期望路徑之間形成的形狀的面積盡可能?。?,那么也就能夠?qū)崿F(xiàn)消除穩(wěn)態(tài)誤差了。
現(xiàn)在我們需要調(diào)節(jié)的系數(shù)變成三個了,同樣的,這里的積分項系數(shù)Ki的大小也會影響整個控制系統(tǒng)的穩(wěn)定性,如圖8所示:
圖8:圖不同Ki時小車行駛軌跡
如果Ki過大,控制器會變得不穩(wěn)定,因為正常的控制器波動會被夸大。
如果Ki太小,又會使控制的車輛脫離穩(wěn)態(tài)誤差需要較長的時間,這在某些情況下勢必會使車輛處于一個危險的境況。
只有當(dāng)Ki恰到好處時,車輛才能快速接近理想軌跡
總結(jié)
我們同時考慮了車輛的偏離程度、向期望路徑靠攏快慢、持續(xù)偏離誤差三個因素來控制車輛實現(xiàn)軌跡跟蹤,這就是比例-積分-微分控制(PID)。
這是用車輛軌跡跟蹤的案例來進行解釋的,我們再總結(jié)PID的每一個環(huán)節(jié):
比例控制的作用是根據(jù)偏差的大小,使控制量向減少偏差的方向變化,控制作用的強弱取決于比例系數(shù)K p ,Kp越大控制越強,但是過大的Kp會導(dǎo)致系統(tǒng)震蕩,產(chǎn)生“超調(diào)”,破壞系統(tǒng)穩(wěn)定性。
微分控制的作用是根據(jù)偏差的變化速率,阻止偏差的變化。有助于減小超調(diào)量,克服震蕩,使系統(tǒng)趨于穩(wěn)定。
而積分控制能夠消除系統(tǒng)的穩(wěn)態(tài)誤差,同時也能夠促進控制量向減少偏差的方向變化。
選擇合適的K p ,Kd和Ki是使用PID控制器的關(guān)鍵,而三個參數(shù)的值需要通過不斷嘗試、調(diào)整并結(jié)合實際工作經(jīng)驗進行確定。
-
算法
+關(guān)注
關(guān)注
23文章
4587瀏覽量
92501 -
控制
+關(guān)注
關(guān)注
4文章
1010瀏覽量
122588 -
PID
+關(guān)注
關(guān)注
35文章
1469瀏覽量
85193
發(fā)布評論請先 登錄
相關(guān)推薦
評論