Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

PID Controller

  • 又稱: Proportional-Integral-Derivative Controller
  • 類別: Control › Feedback control
  • 標籤: control-theory, feedback

透過比例、積分與微分回饋將誤差降到最小的控制機制。

定義

PID 控制器持續計算誤差,並透過三個部分施加修正動作:比例(目前誤差)、積分(累積誤差)與微分(誤差變化率)。廣泛用於馬達控制與軌跡追蹤。

為何重要

PID 控制器是回饋控制的主力,也是現存部署最廣泛的控制演算法,遠遠超過其他演算法。它取期望值與實際值之間的誤差,由三個項產生修正量:與當下誤差成比例、對累積誤差積分,以及對誤差變化速度微分。機器人學中幾乎每一個馬達速度迴路、溫度控制器與關節位置迴路,都是 PID 或與它相近的變體,因此能辨認它的行為與失效模式,是一項真正通用的技能。

主要應用

  • 伺服驅動器內部的馬達速度與位置控制
  • 機器手臂中的關節位置迴路
  • 倒單擺與足式機器人的平衡控制器
  • 無人機的姿態與高度保持
  • 3D 印表機噴頭與熱床的溫度控制
  • 移動機器人的循線與航向保持

實際應用

調整正是概念與現實交會之處。提高比例增益,反應會變快,直到系統開始振盪;加入積分項以消除讓關節在重力下下垂的穩態偏差,代價是過衝;加入微分項來為結果提供阻尼,代價是放大感測器雜訊。現實中典型的失效是積分飽和:如果關節被擋住,誤差持續存在期間積分項會不斷累積,等障礙物移開時,關節就會猛然衝出。實務上的實作正是為此而對它設限。

常見誤解

  • 三個項永遠都需要:許多迴路以 P 或 PI 的形式運作得最好,微分項常因雜訊而被省略
  • 增益越高,性能越好:超過某個程度就會造成振盪與不穩定
  • 一組增益適用於所有情況:負載、溫度與機械磨損都會改變調整結果
  • PID 了解系統:它只對誤差做出反應,沒有任何模型,這就是它難以應付大延遲的原因

誰需要了解

  • 任何調整馬達、關節或溫度迴路的人
  • 撰寫平衡或航向控制器的開發者
  • 調查振盪、過衝或穩態偏差的工程師
  • 修習第一門控制課程的學生
  • 任何機器人在被實體擋住後會猛然衝出的人

相關技術

  • Ziegler-Nichols 調整法
  • 串級控制架構
  • 抗積分飽和機制
  • 非線性系統的增益排程
  • 模型預測控制(MPC)
  • 狀態空間控制(LQR、LQG)
  • 頻域分析(波德圖)
  • 自動調整演算法

相關術語

  • Motion Planning

影片

  • What Is PID Control? | Understanding PID Control: MATLAB

維基百科

  • PID控制器

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。