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