|
COCOFLY教程 ——瘋殼無(wú)人機·系列 PID 基礎原理
圖1
一、PID 簡(jiǎn)介
PID 控制是自動(dòng)控制系統中最常用的一種控制手段,它的誕生主要是為了解決自動(dòng)控制系統的快、穩、準的問(wèn)題。
PID 控制中的 P 指的是 Proportion(比例),即對輸入的偏差乘以一個(gè)系數; I 指的是 Integral(積分),即對輸入偏差進(jìn)行積分運算;而 D 指的是 Derivative(微分),即對輸入偏差進(jìn)行微分運算。通過(guò)比例、積分、微分結合適當的反饋就可以形成一套穩定的閉環(huán)調節系統。如下圖所示為 COCOFLY 的 PID 控制器的結構圖。
圖2
其中期望角度(高度)由遙控器提供,角度環(huán)(高度環(huán))以及角速度環(huán)(高速度環(huán))由 PID 代碼處理,STM32 輸出四路 PWM 到無(wú)人機的電機控制端口, IMU(慣性測量單元)以及飛行姿態(tài)提供反饋值。
二、PID 控制原理
PID 控制的過(guò)程,其實(shí)是不斷糾正偏差的過(guò)程,其中的偏差=當前被控對象的反饋值-設定的期望值。
這里舉一個(gè)比較簡(jiǎn)單又經(jīng)典的 PID 控制的例子,比如需要控制一個(gè)機器人以 PID 的方式向前行走 110 步,然后停下來(lái)。此時(shí)這個(gè) 110 步則是設定的期望值。
如果按照 P 比例控制,也就是控制機器人按照一定的比例走,然后停下。比如比例系數為 108,則走一次就走了 108 步,再走一次的話(huà)就超過(guò) 110 步了,所以就不走了。從這里可得知 P 比例控制是一種最簡(jiǎn)單的控制方式,控制器的輸出與輸入誤差信號成比例關(guān)系。但是僅有比例控制時(shí)系統輸出存在穩態(tài)誤差。比如上面的只能走到 108,或者超過(guò) 108 步,無(wú)論怎樣都走不到 110。
為了消除穩態(tài)誤差,在控制器中必須引入“積分項 I”。積分項對誤差的影響取決于時(shí)間的積分,隨著(zhù)時(shí)間的增加,積分項會(huì )增大。這樣,即便誤差很小, 積分項也會(huì )隨著(zhù)時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大,從而使穩態(tài)誤差進(jìn)一步減小,直到等于 0。即在“積分項 I”控制中,控制器的輸出與輸入誤差信號成正比關(guān)系,且比例+積分(PI)控制器可以使系統在進(jìn)入穩態(tài)后無(wú)穩態(tài)誤差。
也就是說(shuō),如果按照 PI(比例、積分)控制的方式,則是控制機器人按照一定的步伐走到 112 步然后回頭接著(zhù)走,走到 108 步位置時(shí),然后又回頭向 110
步位置走。在 110 位置處來(lái)回晃蕩幾次,最后停在 110 步的位置。
微分項,主要用于預判誤差變化的趨勢從而作出對應的改變。在自動(dòng)控制系統在克服誤差的調節過(guò)程中可能會(huì )出現振蕩甚至失穩,原因是存在較大慣性組件(環(huán)節)或滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差作用的變化“超前”,即在誤差接近于零時(shí),抑制誤差的作用就應該是零。這就是說(shuō),在控制器中僅引入“比例 P”項往往是不夠的, 比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢。這樣,具有比例+微分的控制器就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例 P+微分 D(PD)控制器能改善系統在調節過(guò)程中的動(dòng)態(tài)特性。
也就是說(shuō),如果按照 PD 比例、微分控制的方式,則為控制機器人按照一定的步伐走到一百零幾步后,再慢慢地走向 110 步的位置靠近,如果最后能精確停
在 110 步的位置,就是無(wú)靜差控制;如果停在 110 步附近(如 109 步或 111 步位置),就是有靜差控制。由此得知在微分控制 D 中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關(guān)系。
前面說(shuō)到 PID 是為了解決自動(dòng)控制系統中的快、穩、準的問(wèn)題的。其中那么他們之間的關(guān)系以及對應調節參數是什么呢?如下表所示。
表1
三、PID 代碼結構
在飛控系統中 PID 是極為重要的一環(huán),在 COCOFLY 飛控系統中也多處應用到了 PID 主要集中在 AltCtrl.c、Ctrl.c 中。如下圖所示為高度環(huán) PID 控制源碼。
圖3
如下圖所示為高度速度環(huán) PID 控制源碼。
圖4
如下圖所示為角度環(huán) PID 控制源碼。
圖5
如下圖所示為角速率環(huán) PID 控制源碼。
圖6
更多完整學(xué)習資料和對應開(kāi)源套件,請登陸官網(wǎng):“瘋殼”
如需定制開(kāi)發(fā),請通過(guò)官網(wǎng)“瘋殼”網(wǎng)頁(yè)底部的“聯(lián)系我們”進(jìn)行聯(lián)系
文件下載請點(diǎn)擊:
【10】PID基礎原理.pdf
(764.78 KB)
2022-7-22 10:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
|
|