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

英特爾與Stellantis Motorsports攜手推進(jìn)自適應(yīng)控制技術(shù)
自適應(yīng)電流焊接控制器:精準(zhǔn)調(diào)控,高效焊接
Simulink滑模控制原理概述

空間光調(diào)制器自適應(yīng)激光光束整形
步進(jìn)電機(jī)如何自適應(yīng)控制?步進(jìn)電機(jī)如何細(xì)分驅(qū)動(dòng)控制?
偏置備用運(yùn)行中自適應(yīng)定時(shí)控制裝置的分析與風(fēng)險(xiǎn)評(píng)估

評(píng)論