閉環控制系統是現代自動控制系統的一種典型結構,其原理是把控制系統輸出量通過一定方法(一般為傳感器)反送回系統的輸入端,然后將反饋信息與原輸入指令進行比較,再將比較的結果施加于系統進行控制,避免系統偏離預定目標。
構型和參數對閉環控制系統的性能好壞起著決定性的作用,選擇合適的構型,找出最佳的控制參數,也是控制工程師夜以繼日追求的目標。
在所有開發階段,MATLAB 和 Simulink 都為控制系統工程師量身定做了一系列的工具,這其中自然也包括了設計和調節反饋控制器。
在這個階段,工程師期望工具能夠幫助分析閉環控制的關鍵性能參數,如超調量、上升時間和穩定裕度,配平和線性化非線性模型,分析不確定因素對于模型性能和穩定性的影響等等。
這些功能被 MathWorks 集成在 Simulink Control Design 中,從而方便用戶利用波特圖、根軌跡圖和其他線性或非線性控制設計方法,使用預置工具自動調節多變量控制器,滿足上升時間和超調量等約束條件。
Simulink Control Design 在最近的 MATLAB 版本中進行了較大更新,以滿足日益增長的用戶需求。
在本文中,我們將通過列舉一些重要的功能更新和增強,闡述 MathWorks 的解決方案如何使您的閉環控制參數調節事半功倍。
Simulink Control Design 概述
Simulink Control Design 是為控制工程師在 Simulink 環境下進行閉環控制器設計所量身打造的工具。
用戶可以基于在 Simulink 下建立的被控對象模型,開展閉環控制器的設計,或者基于 Simulink Control Design 提供的豐富資源與案例庫,快速搭建閉環控制算法原型,并通過自動代碼生成直接部署到硬件進行調整與測試,實現快速原型迭代。
Simulink Control Design 本身支持多種類型的閉環控制構型,包括:
比例-積分-微分(PID)
增益調度
超前-滯后補償
單輸入單輸出(SISO)控制
多輸入多輸出(MIMO)控制
為了上述閉環控制器參數的調節,Simulink Control Design 還支持對 Simulink 被控對象模型進行工作點計算(配平)、線性化和頻域響應估計等工作,以幫助用戶獲取合適的被控對象模型來進行控制參數的自動調節和仿真驗證。
對于已經在 Simulink 環境下建立對象模型的用戶,Simulink Control Design 可以提供靈活的交互式應用,幫助計算穩態工作點并實現在各種工作條件下的精確線性化。
同時,在不修改模型的情況下計算基于仿真的頻率響應,以適應解析線性化不適用的情況(如帶有開關器件的電力電子對象)。
對于僅有實際物理對象而無法建立Simulink模型的情況,用戶可以利用 Simulink Control Design 中封裝好的模塊庫(Library)與案例(Example),快速搭建復雜結構的控制算法模型,包括多輸入多輸出控制算法,或者自適應控制算法,并通過自動代碼生成的方式直接部署到實際系統中,進行快速原型迭代或在線自動參數調節。
Simulink Control Design 的核心價值和重要更新
Simulink Control Design 提供了連接非線性 Simulink 對象模型與控制理論,特別以線性系統為核心的經典控制理論的絕佳橋梁。
它大幅減少了客戶在此過程中所需要做的繁重工作,比如線性化 Simulink 模型,在桌面端設計與分析控制器,并最終部署到硬件運行。
在最近的幾個 MATLAB 版本中,Simulink Control Design 進行了大幅的更新。在控制設計方面,我們首先收到了眾多用戶對于更先進、更智能的控制算法的應用需求。
于是在 R2021a 和 R2021b,Simulink Control Design 改善了對自適應控制算法的支持,推出了封裝好的、直接可用的兩個自適應模塊:極值搜索控制(Extremum Seeking Control)模塊和模型參考自適應控制(Model Reference Adaptive Control)模塊。
自適應控制是一種能夠適應動態變化過程的控制器,適用于被控對象在運行過程中動態特性變化大且帶有不確定性的情況。自適應控制器內部存在著某種學習機制,可以根據系統的運行狀態來自動更新控制參數,以實現更好的控制性能。
模型參考自適應控制器(MRAC)是一種典型的自適應控制器,其通過內部的學習機制,持續優化控制器的參數以抵消系統不確定性的影響,利用反饋和前饋增益,保證閉環系統的響應跟隨一個用戶預先定義好的參考模型。
圖 4-模型參考自適應控制(MRAC)原理
MRAC 適用于被控對象模型未知,且存在一定不確定性擾動的情況。目前,在航空航天,汽車、能源等領域,已經有了一些 MRAC 的應用案例,在 R2021b 中,MATLAB 也提供了一個三角翼飛機在發生機翼搖擺時的滾轉/滾轉率控制案例。以展示在系統模型未知的情況下,如何使用 MRAC 使受控系統匹配理想的參考模型。
更多有關 MRAC 案例的詳情,可參閱 MATLAB 軟件的幫助文檔:https://ww2.mathworks.cn/help/slcontrol/ug/model-reference-adaptive-control-of-aircraft-undergoing-wing-rock.html。
對于被控對象模型(特別是用于閉環控制調參的線性模型)很難獲取的情況,Simulink Control Design 也希望用戶能夠利用其它方法,設計出性能滿足要求的閉環控制器。
以工程應用最為廣泛的 PID 控制器為例,MATLAB 自 R2018a 版本開始逐步完善“在線自動參數調節(Open-Loop PID Autotuner/ Closed-Loop PID Autotuner)”模塊的功能,該模塊允許用戶直接針對實際的物理設備實時調節PID控制器的參數。
結合自動代碼生成,用戶可以直接將實現參數調優算法的代碼部署到硬件上,使得后續參數調優的過程在擺脫 Simulink 的真實硬件環境下進行。
針對電機控制這一應用廣泛的場景,MATLAB 在 R2020a 中,推出了 Motor Control Blockset,其中包含了磁場定向控制(FOC)參數的在線自動調節模塊,用戶現在可以根據 Motor Control Blockset 所支持的硬件規格,將FOC在線自動調節模塊生成代碼部署到真實硬件,輕松完成電機 FOC 閉環控制中轉速、電流和磁通回路(flux loops)參數的調節。
在以電力電子為例的領域中,由于系統中帶有開關等強非線性組件,從時域獲取被控對象的響應特性比較困難,這時我們需要通過頻域響應估計的方式來設計閉環控制器。
Simulink Control Design 同樣也支持用戶通過 MATLAB 軟件來完成這一工作。該工作可以基于非線性 Simulink 模型,在仿真環境下開展,也可以通過自動代碼生成,激勵實際的物理對象來實現。
在第二種模式下,頻域響應估計模塊將信號注入實際被控對象并測量試驗輸出,以實時測量物理設備的頻率響應。
在從 R2020a 到 R2021b 的四個版本中,我們著力改善了頻域響應估計的實際使用體驗。使用偽隨機序列(PRBS)作為估計激勵,使用 MATLAB 對像電力電子和通訊系統這樣的高頻開關系統進行頻域響應估計的耗時被大幅縮短。
同時,現在 Simulink Control Design 也具備根據用戶需求自動調整 PRBS 信號參數的能力,再加上濾波等手段的應用,用戶得到的估計結果質量也會得到提升。
寫在最后
隨著系統功能的日益復雜,以及硬件運算能力的快速提升,越來越多的先進控制理論與算法被投入到工程應用當中。
除了本文中提到的自適應控制、在線自動參數調節、頻域響應估計等功能,像魯棒控制、模糊邏輯、模型預測控制、強化學習等以往可能被嵌入式處理器性能極限所拒之門外的算法,都成為了實際工業產品的可選方案之一。
這使得更多的控制工程師把精力投入到了更智能、更復雜的算法本身,而忽略了被控對象本身的響應特性與約束。
在這里,作者也想分享一下自己在行業里被“毒打”多年的心得,即“對被控對象本身的特性了解越多,設計出的控制器性能就會越出色”。
所以,在關注先進控制理論與參數調節方法的同時,別忘了對您的受控系統做一個更加深入、精準的分析喲~
當然,MathWorks 也會繼續,為我們的用戶在對象建模和控制設計等方面,提供強有力的支持。
除了本文中所述的 Simulink Control Design 工具,如果您對物理對象建模、魯棒/模糊控制、模型預測控制,甚至是強化學習感興趣,也歡迎與我們聯系!
責任編輯:haq
-
控制器
+關注
關注
112文章
16400瀏覽量
178551 -
模型
+關注
關注
1文章
3268瀏覽量
48924
原文標題:讓閉環控制器的參數調節事半功倍 —— Simulink Control Design 更新探討
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論