


PID調參器( PIDTuner)概述
1.1 簡介
使用PID Tuner可以對Simulink模型中的PID控制器,離散PID控制器,兩自由度PID控制器,兩自由度離散PID控制器進行調參,實現控制性能和健壯性的良好平衡。在使用PID Tuner的時候,它會自動做一些工作:
自動計算被控裝置的線性模型。PID Tuner會將PID控制塊輸入和輸出之間所有Simulink塊的組合看作為一個被控裝置,因此被控裝置將會包括控制環中所有塊體,不僅僅是控制器本身。
自動給出一個經過控制性能和魯棒性(健壯性)平衡的初始PID控制設計。這個過程基于經過線性化的被控裝置模型的開環頻率響應特性。
提供交互性工具和響應曲線來幫助設計滿足要求的PID控制系統。
1.2 PID Tuner 使用場景
自動地、交互性地對位于單環、單位反饋的系統前向通路中的單輸入單輸出(SISO)PID控制器進行調參。
自動地、交互性地調整如下例子中位于環形結構中的兩自由度PID控制器參數:
交互性地使用SISO系統的響應數據來擬合一個控制原型并自動進行調參從而得到最終的控制模型。(需要System IdentificationToolbox工具)
1.3 應用 PID Tuner 的典型設計流程:
(1)啟動 PID Tuner 。在啟動的時候,這個軟件將會從Simulink模型自動計算得到一個被控裝置的線性近似模型并生成一個初始的PID控制器。(2)通過在兩個設計模型(上述的線性近似模型和原始控制器模型)中手動調節設計準則(設計偏好)來調整PID Tuner的參數,PID Tuner會計算出使系統穩定的PID參數。(3)從設計好的控制模型中導出參數到原始被控裝置的PID控制器中,在Simulink中驗證PID控制器表現是否符合要求。1.4 PID Tuner對被控裝置的近似
PID Tuner會將PID控制塊輸入和輸出之間所有塊的組合看作為一個被控裝置。在被控裝置中使用的Simulink塊可以是非線性的,但是因為自動調參需要使用一個線性模型,PID Tuner會給出一個被控裝置的線性化近似模型來代替原來包含非線性部分的裝置模型。這個線性化的模型是對非線性系統的近似,并且在原系統給定工作點的鄰域內有效。默認情況下,PID Tuner對裝置進行線性化的時候,將使用在Simulink模型中配置的初始條件作為近似裝置的工作點,然后根據近似裝置設計一個初始PID控制器。但是有時需要為一個工作點不是模型初始條件的裝置設計PID控制器,比如:Simulink模型在初始條件下工作沒有達到穩態,而PID控制器是針對穩態設計的。
在增益調節應用中需要設計多個控制器,且要求每個控制器的工作點不相同。
1.5 PID調參算法簡介
典型PID調參目標包括:閉環穩定性。即閉環系統對于有界輸入保持輸出有界。
足夠的性能。閉環系統跟蹤參考信號變化和對干擾的抑制要盡可能快,擁有更大的環路帶寬(單位開環增益)以及對參考信號變化和干擾有更快的響應速度。


自動調參實踐
2.1 打開一個示例模型
在MATLAB命令行中打開一個引擎速度控制器模型來進行操作:open_system('scdspeedctrlpidblock')打開如圖所示系統:
2.2 設計概要
設計一個PI控制器完成引擎速度控制。設計目標是跟蹤一個來自Simulink step block的參考信號scdspeedctrlpidblock/SpeedReference。設計要求如下:過渡時間小于5秒。
穩態誤差為0。
2.3 打開PID Tuner
雙擊PID控制塊來打開一個對話框。在Main這個選項中點擊Tune。
2.4 初始化PID設計
當PID Tuner啟動時,它會自動識別出被控裝置的輸入和輸出,計算得出裝置的線性近似模型。原始被控裝置可以有任意的階數和延時。PID Tuner將計算出一個控制性能和健壯性經過合理折中的初始PI控制器。默認情況下,階躍參考信號跟蹤性能將會用曲線展示出來。下圖展示了PID Tuner給出的初始PI控制模型:
2.5 顯示PID參數
點擊 Show parameters 來顯示控制參數P和I以及一系列控制性能和健壯性的度量指標。

2.6 在 PID Tuner中調整PID 設計
參考信號跟蹤響應的超調大概為2.5%。因為在滿足過渡時間要求的前提下還有一些余量,我們可以通過增加響應時間來減小超調。向左移動響應時間滑塊來增加閉環系統的響應時間。注意在調整響應時間的時候,響應曲線和控制器參數以及性能指標也在不斷更新。下圖展示了調整后的PID設計,此時超調為零,過渡時間為3.6秒。這個設計好的控制器已經滿足設計要求。


2.7 進行性能折中
為了在過渡時間小于2秒的情況下實現零超調,需要同時調節響應時間和瞬態特性滑塊。我們需要控制器的響應更快以縮短過渡時間,增加控制器的健壯性來減小超調。例如,將響應時間從3.4秒減小到1.5秒同時將健壯性從0.6增加到0.72。下圖展示了進行上述設置后的閉環響應。

2.8 將調整好的的參數寫入原始裝置的PID控制塊中
在經過線性近似的裝置模型上得到性能滿意的控制器之后,還需要在原來的非線性裝置上進行檢驗。在PID Tuner中點擊Update Block按鈕,把調好的參數寫入Simulink模型中的PID控制器。

2.9 驗證設計
設計好的閉環系統響應如圖所示:

過渡時間小于5秒。
穩態誤差為0
作者簡介:安布奇,筆名單雨,90后工科男,偽文藝青年。目前就讀于北京理工大學宇航系,喜歡研究AI,網絡爬蟲,微信小程序以及機器人,癡迷于Coding,睡前必擼碼。
【END】
?今日七夕!不取標題,只想娶你
?TIOBE 8 月編程語言排行榜:Python 奮力追趕 C,Swift 下跌
?被罰 50 億后,Google 不再強制綁定 Android 默認引擎!
??張一鳴:我用排除法選工作和擇偶
?重磅!AI Top 30+案例評選正式啟動?自然語言處理十問!獨家福利?容器快速入門完全指南?媒體巨頭進軍區塊鏈!紐約時報將用區塊鏈技術打擊假新聞?為什么雷軍說“華為不懂研發”?