閉環(huán)控制系統(tǒng)是現(xiàn)代自動控制系統(tǒng)的一種典型結(jié)構(gòu),對于控制專業(yè)的工程師,需要選擇合適的閉環(huán)控制器構(gòu)型,找出最佳的控制參數(shù),保證被控對象(物理系統(tǒng))實現(xiàn)預(yù)期的行為。在所有開發(fā)階段,MATLAB 和 Simulink 都為控制系統(tǒng)工程師量身定做了一系列的工具,這其中自然也包括了設(shè)計和調(diào)節(jié)反饋控制器。在這個階段,工程師期望工具能夠幫助分析閉環(huán)控制的關(guān)鍵性能參數(shù),如超調(diào)量、上升時間和穩(wěn)定裕度,配平和線性化非線性模型,以及未知因素對于模型性能和穩(wěn)定性的影響等等。
想要實現(xiàn)上述這些功能,并且得到相對“可信”的結(jié)果,就必須要有一個能夠反映真實物理系統(tǒng)行為的被控對象模型。在傳統(tǒng)控制方法,比如PID等控制器構(gòu)型下,工程師需要基于線性系統(tǒng)理論分析閉環(huán)控制的性能,那我們也就不可避免地需要一個線性的被控對象模型。
然而“理想”很豐滿,“現(xiàn)實”往往確很骨感。在實際工程領(lǐng)域中,我們常見的被控物理系統(tǒng)(比如飛機、汽車、電機、液壓伺服機構(gòu)),大多都是動態(tài)行為十分復(fù)雜的非線性系統(tǒng)。誠然我們可以通過線性化的手段,得到這些系統(tǒng)在穩(wěn)態(tài)工況附近的線性模型,從而實現(xiàn)閉環(huán)控制參數(shù)的調(diào)節(jié)。但當(dāng)我們把控制器的作用域放大到整個系統(tǒng)全工況范圍內(nèi)的時候,卻發(fā)現(xiàn)它的性能往往不太盡如人意,特別是當(dāng)系統(tǒng)中存在未知干擾的時候。
這是因為,當(dāng)我們建立實際物理系統(tǒng)模型時,我們都是用一個或者幾個“確定”的數(shù)學(xué)表達來反映它的動態(tài)行為,這代表無論執(zhí)行多少次仿真,我們都會針對同樣的“輸入”得到一致和確定的“結(jié)果”。但在真實物理世界中,大部分系統(tǒng),特別是復(fù)雜的非線性系統(tǒng),都存在一定的不確定性,這樣的不確定性普遍存在,其原因大體上可以總結(jié)為如下幾條:
建立數(shù)學(xué)模型時的簡化,比如降階;
存在未知的系統(tǒng)參數(shù);
傳感器測量噪聲;
外部擾動等。
因此,控制系統(tǒng)的設(shè)計與實現(xiàn)必須考慮這樣的一個問題,即被控對象存在不確定性的情況下,反饋控制器是否仍然能夠使閉環(huán)控制穩(wěn)定并能基本滿足所期望的性能指標(biāo)。隨著對不確定問題越來越深刻的認識和研究,就導(dǎo)致了專門分析和處理具有不確定系統(tǒng)的控制理論,其中衍生出了兩類最具有代表性的理論:魯棒控制和自適應(yīng)控制。這兩種控制方式都是基于經(jīng)典線性控制理論的擴展,加入非線性因素以補償系統(tǒng)在階次、參數(shù)或者信號方面的非預(yù)知變化對于控制算法的影響,以達到更好的閉環(huán)控制性能。
在后續(xù)篇幅中,我們將重點討論 Simulink Control Design 對于自適應(yīng)控制理論的支持,特別是在最新發(fā)布的 2022b 中,新增加的自抗擾控制器(Active Disturbance Rejection Control,ADRC)的相關(guān)內(nèi)容。
01.自適應(yīng)控制與 SimulinkControlDesign概述
所謂“自適應(yīng)”,一般是指系統(tǒng)能夠按照環(huán)境的變化調(diào)整其自身,使得其行為在新的或者已經(jīng)改變了的環(huán)境下達到最好,或者至少滿足預(yù)先要求的特性和功能,這種對環(huán)境變化具有適應(yīng)能力的控制系統(tǒng)稱為自適應(yīng)控制系統(tǒng)。自適應(yīng)控制系統(tǒng)可以在沒有人的干預(yù)下,隨著運行環(huán)境改變而自動調(diào)節(jié)自身控制參數(shù),以達到最優(yōu)的控制。換句話說,自適應(yīng)控制可以看作是一個能根據(jù)環(huán)境變化智能調(diào)節(jié)自身特性的反饋控制系統(tǒng),以使系統(tǒng)能按照預(yù)先設(shè)定的標(biāo)準(zhǔn),工作在最優(yōu)狀態(tài)。自適應(yīng)控制器內(nèi)部都存在著某種學(xué)習(xí)機制,從而根據(jù)系統(tǒng)的運行狀態(tài)來自動更新控制參數(shù),適用于被控對象在運行過程中動態(tài)特性變化大且?guī)в胁淮_定性的情況。
圖 1-自適應(yīng)控制原理示意
在 MATLAB/Simulink 中,Simulink Control Design 是為控制工程師在 Simulink 環(huán)境下進行閉環(huán)控制器設(shè)計所量身打造的工具。用戶可以基于在 Simulink 下建立的被控對象模型,開展閉環(huán)控制器的設(shè)計,或者基于 Simulink Control Design 提供的豐富資源與案例庫,快速搭建閉環(huán)控制算法原型,并通過自動代碼生成直接部署到硬件進行調(diào)整與測試,實現(xiàn)快速原型迭代。在最近的幾個 MATLAB 版本中,Simulink Control Design 進行了大幅的更新。在控制設(shè)計方面,基于用戶對于更先進、更智能的控制算法的應(yīng)用需求,在最近的幾個版本中我們也著力改善了對自適應(yīng)控制算法的支持,推出了封裝好的、直接可用的兩個自適應(yīng)模塊:極值搜索控制(Extremum Seeking Control)模塊和模型參考自適應(yīng)控制(Model Reference Adaptive Control)模塊,有關(guān)于這方面的介紹,可以參閱作者之前發(fā)布在公眾號上的文章。
02.ADRC模塊介紹
與 MRAC 需要參考模型不同,自抗擾控制器(ADRC)是一種不需要模型的自適應(yīng)控制技術(shù),用于處理被控對象含有未知動態(tài)特性或者內(nèi)外部干擾時的閉環(huán)控制問題。ADRC 僅需要被控對象模型動態(tài)的近似估計,便可以設(shè)計無超調(diào)量的干擾抑制控制器。在新版本的 Simulink Control Design 中,提供了封裝好的 ADRC 模塊,幫助用戶在模型中快速搭建此控制算法。該模塊目前可以用一階或者二階模型近似作為已知的被控對象動態(tài),并通過一個擴展的狀態(tài)來反映被控對象的不確定性,包括未知的動態(tài)特性和干擾。一般情況下,我們可以通過物理系統(tǒng)在工況范圍內(nèi)的開環(huán)階躍響應(yīng)特性,來確定到底是用一階模型還是二階模型來近似已知的被控對象動態(tài)。
對于一階動態(tài)近似,
控制器具有如下結(jié)構(gòu):
圖 2-一階動態(tài)自抗擾控制器結(jié)構(gòu)
此時,控制器為基于估計狀態(tài)的狀態(tài)反饋控制器,當(dāng)估計值與實際值相等時,系統(tǒng)為極點等于 -Kp的閉環(huán)一階系統(tǒng)。
對于二階動態(tài)近似,
控制器具有如下結(jié)構(gòu):
圖 3-二階動態(tài)自抗擾控制器結(jié)構(gòu)
此時,控制器為基于估計狀態(tài)的狀態(tài)反饋控制器,當(dāng)估計值與實際值相等時,系統(tǒng)為二階閉環(huán)系統(tǒng)。
上述公式中,y(t)、u(t)、b0和 f(t) 分別代表被控對象的輸出、輸入、近似增益和未知動態(tài)或擾動。模塊還使用了擴張狀態(tài)觀測器(Extended State Observer,ESO)來估計 f(t),通過減少估計到的擾動對于模型已知的動態(tài)近似的影響,來實現(xiàn)抗擾控制。
從圖2和3中可以看到,ADRC 本質(zhì)上其實還是一個 PID 構(gòu)型的閉環(huán)控制器,但與傳統(tǒng)的 PID 控制器相比,由于加入了對于系統(tǒng)大動態(tài)變化和未知擾動的觀測和抑制,在更加廣泛的工況范圍內(nèi),工程師在參數(shù)調(diào)節(jié)方面所需要的工作量會大幅降低(對比“增益調(diào)度”控制方式),有助于保證在非設(shè)計工作點下的閉環(huán)控制性能。
03.ADRC應(yīng)用示例
如果只看上述的理論,顯得過于枯燥和晦澀的話,在新版本的 MATLAB 中,我們也提供了實際的應(yīng)用示例,以展示模塊的使用方法和效果。對于上述一階和二階模型,MATLAB 分別給出了對應(yīng)的示例,下面對實際工程中常用的二階系統(tǒng)示例做詳細介紹。對于一階系統(tǒng)示例,可以參閱如下的幫助文檔鏈接。
對于傳統(tǒng)的 PID 控制,我們可以通過頻率響應(yīng)估計的方法,得到被控對象電路的線性模型,然后利用 PID Tuner,實現(xiàn) PID 控制參數(shù)的調(diào)節(jié),具體方法可以參閱軟件幫助文檔中的對應(yīng)示例,在此不再贅述。
針對系統(tǒng)的不確定性或者擾動,我們在模型中添加了如下兩個擾動,以查看控制器對于干擾的抑制能力:
T=0.075s時的線路干擾,即輸入電壓從5V變化為10V;
T=0.09s時的負載干擾,即負載電阻從3歐姆變換為6歐姆。
ADRC 在 MATLAB/Simulink 中為封裝好的“即插即用”模塊,用戶可以通過對話框?qū)ζ鋮?shù)進行修改,這包括:
模型階次;
模型響應(yīng)近似增益(Critical Gain);
控制器與觀測器帶寬;
控制器時域類型,這里可以選擇連續(xù)時間或者離散時間,如果要最終部署在嵌入式設(shè)備上,應(yīng)選擇離散時間,并根據(jù)前面的控制器和觀測器帶寬,確定合適的采樣周期。
圖 5-ADRC模塊參數(shù)對話框
對于模型的階次和近似增益,我們可以利用 Simscape Electrical 建立的被控對象模型,進行開環(huán)仿真來確定,在輸入端,可以給定 Duty Cycle 為 0.5 的 PWM 驅(qū)動輸入,并截取在輸入給定后 0.0005 秒內(nèi)的電壓輸出響應(yīng)。
圖 6-ADRC被控對象的開環(huán)階躍響應(yīng)曲線與二階曲線擬合結(jié)果
利用曲線擬合工具,我們可以得到開環(huán)系統(tǒng)的被控對象動態(tài)特性近似于二階系統(tǒng),即
并且得到曲線中的參數(shù),從而得到近似增益估計 b0。
對于控制器帶寬,一般取決于對控制性能的要求,而觀測器的帶寬要高于控制帶寬才能滿足控制算法部分對于觀測器結(jié)果的使用要求,一般情況,觀測器帶寬是控制帶寬的 5-10 倍,在本例中選擇了 7 倍。
仿真結(jié)果可以非常明顯地表明在輸入電壓和負載出現(xiàn)擾動的情況下,ADRC 與傳統(tǒng) PID 相比,具有更好的抗干擾性能,閉環(huán)控制的調(diào)節(jié)時間和超調(diào)量指標(biāo)都明顯更優(yōu)。
圖 7-ADRC與傳統(tǒng) PID控制性能對比
寫在最后
隨著系統(tǒng)功能的日益復(fù)雜,以及硬件平臺處理能力的快速提升,以自適應(yīng)控制為代表的先進控制理論與算法肯定會越來越多地被投入到工程應(yīng)用當(dāng)中。而隨著大家對物理系統(tǒng)特性本身和控制理論更加深入的研究,像魯棒控制、模型預(yù)測控制、模糊邏輯控制,甚至是強化學(xué)習(xí),都將會在未來成為控制工程師口袋中的武器。MathWorks 也會持續(xù)在這些方面加大投入,除了提供對應(yīng)算法理論的函數(shù)與模塊,并利用自動代碼生成實現(xiàn)“即插即用”外,在軟件幫助文檔中,各行業(yè)的應(yīng)用案例也在逐步豐富中,幫助用戶能夠縮短學(xué)習(xí)曲線,盡快上手。如果您有相關(guān)方面的應(yīng)用需求,也歡迎隨時與我們聯(lián)系!
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2553文章
51390瀏覽量
756578 -
控制器
+關(guān)注
關(guān)注
112文章
16445瀏覽量
179447 -
PID
+關(guān)注
關(guān)注
35文章
1473瀏覽量
85824
原文標(biāo)題:讓控制器變“聰明” —— Simulink 自適應(yīng)控制探討
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論