◇成都理工大學(xué)工程技術(shù)學(xué)院 李欣蓮 李自成 周 彬 張 媛 廖興泰 童 強(qiáng)
為了簡(jiǎn)化控制系統(tǒng)的設(shè)計(jì)步驟并提高優(yōu)化設(shè)計(jì)效率,運(yùn)用Matlab軟件中Simulink庫的仿真功能建立需要分析的控制系統(tǒng)模型,選用直觀簡(jiǎn)單操作的SRO軟件包整定模型中的系統(tǒng)參數(shù),并運(yùn)用最優(yōu)計(jì)算獲得最優(yōu)目標(biāo)函數(shù),SRO會(huì)自動(dòng)地通過時(shí)域約束轉(zhuǎn)變?yōu)樽顑?yōu)化約束問題來對(duì)信號(hào)約束的問題轉(zhuǎn)化,并進(jìn)行最優(yōu)計(jì)算矯正整定參數(shù)完成控制系統(tǒng)的優(yōu)化設(shè)計(jì)。SOR軟件包的運(yùn)用使得對(duì)控制系統(tǒng)的設(shè)計(jì)優(yōu)化成為一種操作簡(jiǎn)單,方法實(shí)用及高效的過程。
在控制系統(tǒng)設(shè)計(jì)中,優(yōu)化設(shè)計(jì)是很關(guān)鍵的一點(diǎn),控制系統(tǒng)設(shè)計(jì)的目的主要是對(duì)控制器的設(shè)計(jì),通過矯正裝置的參數(shù)整定,使系統(tǒng)性能在所給的函數(shù)下達(dá)到最優(yōu)[1]。優(yōu)化設(shè)計(jì)主要對(duì)參數(shù)進(jìn)行尋優(yōu),在以往的分析中最常用的是相平面法和描述函數(shù)法,這是一項(xiàng)非常復(fù)雜且繁瑣的過程,本文采用SRO軟件可以簡(jiǎn)單高效的完成此項(xiàng)任務(wù)。
對(duì)控制器進(jìn)行的參數(shù)整定就是對(duì)控制系統(tǒng)的設(shè)計(jì)。控制系統(tǒng)優(yōu)化設(shè)計(jì)是確定所給目標(biāo)函數(shù)下可以達(dá)到最優(yōu)的參數(shù),并且是在被控對(duì)象已經(jīng)確定,控制器的結(jié)構(gòu)和形式也都全都已知的情況下進(jìn)行。圖1所示的就是優(yōu)化設(shè)計(jì)過程框圖。
圖1 控制系統(tǒng)優(yōu)化設(shè)計(jì)過程框圖
Simulink響應(yīng)最優(yōu)化(Simulink Response Opimization,SRO)軟件包[2]是Simalink6.0以上版本所提供的一個(gè)實(shí)用工具包,用來進(jìn)行控制系統(tǒng)的優(yōu)化設(shè)計(jì)。這個(gè)軟件包也是NCD軟件包(非線性控制設(shè)計(jì))的升級(jí)版本。
SRO能夠通過整定模型中的系統(tǒng)參數(shù)來達(dá)到時(shí)域性能要求,并且模型中所存在的變量也可以通過SRO來整定。SRO簡(jiǎn)潔、直觀的界面使得到最優(yōu)的目標(biāo)函數(shù)和整定參數(shù)的過程更加簡(jiǎn)潔明了。解決最優(yōu)化約束問題,就要把這個(gè)問題公式化處理,運(yùn)用Matlab中的Simulink進(jìn)行系統(tǒng)的仿真,再去對(duì)比仿真出來的結(jié)果與目標(biāo)函數(shù)之間的差距后,通過最優(yōu)計(jì)算去矯正整定參數(shù)。
SRO的功能與運(yùn)用也就是通過給定的性能指標(biāo)進(jìn)行優(yōu)化設(shè)計(jì),性能指標(biāo)成為約束邊界,并約束系統(tǒng)的階躍響應(yīng),最優(yōu)化指定的整定參數(shù)。
以非線性控制系統(tǒng)設(shè)計(jì)為例,使用SRO軟件包進(jìn)行系統(tǒng)最優(yōu)化設(shè)計(jì)??刂葡到y(tǒng)結(jié)構(gòu)圖如圖2所示。
圖2 控制系統(tǒng)結(jié)構(gòu)圖
其單位階躍響應(yīng)性能指標(biāo)如表1所示。
表1 單位階躍響應(yīng)性能指標(biāo)
PID控制器參數(shù)的初始值為:Kp=1.76291,Ti=0.935268,Td=0.321647。被控對(duì)象模型參數(shù)wn=2rad/s,ζ≈0.9。確定滿足上述性能指標(biāo)的PID控制器參數(shù)Kp、Ti和 Td。
(1)首先建立模型[3],將輸出y(t)連接signal constraint模塊,如圖3所示,并命名為exmsro.m。
圖3 exmsro.m模型
其中主要模塊參數(shù)設(shè)置:①r(t)模塊:Step time設(shè)置為0,F(xiàn)inal time設(shè)置為1;②Transfer Fen模塊:Numerator cofficient欄填寫[wn^2];Denominator coeffici欄填寫[12*wn*zeta wn*2]。
(2)打開SRO軟件包的信號(hào)約束窗口。打開exmsro.m中的Signal Constraint模塊,信號(hào)約束窗口的顯示如圖4所示。
圖4 信號(hào)約束窗口
約束條件:Rise time為1s,Settling time為3s,Over shoot為10%。進(jìn)行參數(shù)最優(yōu)化時(shí),選Enforce signal bounds項(xiàng),則相應(yīng)的約束信號(hào)就會(huì)位于約束邊界段內(nèi)。
(3)設(shè)置期望響應(yīng)約束。選擇Signal Constraint模塊窗口菜單Goals| Desired Respose,打開期望響應(yīng)設(shè)置窗口[4]。再選中Specify step response characteristics按鈕,則的階躍響應(yīng)性能指標(biāo)設(shè)置界面,參數(shù)設(shè)置如表2所示。
表2 階躍響應(yīng)性能指標(biāo)參數(shù)
此時(shí)階躍響應(yīng)約束形狀如圖5所示。
圖5 設(shè)置后的信號(hào)約束窗口
(4)定義變量,在模型中去定義未知的變量,本例需定義的5個(gè)變量:Kp、Ti、Td、wn及ζ。
在Matlab命令窗口中輸入:>>Kp=1.76291;Ti=0. 935268;Td=0. 321647;wn=2;zeta=0.9;隨后該5個(gè)變量被定義。
(5)指定整定參數(shù)[5]。進(jìn)行參數(shù)最優(yōu)化前需要指定PID控制器參數(shù)(Kp, Ti和 Td)。首先在約束窗口中打開整定參數(shù)對(duì)話然后點(diǎn)擊Add按鈕,打開添加參數(shù)窗口,在此參數(shù)窗口選中Kp、Td和 Ti,確定后就可以把它們添加到整定參數(shù)對(duì)話窗口中。
(6)最優(yōu)計(jì)算。完成以上操作后,開始可以使用參數(shù)的最優(yōu)計(jì)算(選擇信號(hào)約束窗口中的Optimization |Start)。SOR會(huì)通過工具箱中的函數(shù)來進(jìn)行最優(yōu)計(jì)算并調(diào)節(jié)整定參數(shù)[6]。
在Matlab的命令窗口中輸入:>>Kp,Ti,Td;運(yùn)行結(jié)果為:Kp=1.8241;Ti=1.2106;Td=0.8130。
由此得到滿足上述性能指標(biāo)的PID控制器參數(shù)Kp、Ti和 Td。
(7)保存項(xiàng)目。SRO會(huì)在創(chuàng)建一個(gè)最優(yōu)化項(xiàng)目后再進(jìn)行最優(yōu)計(jì)算,此項(xiàng)目包含有階躍響應(yīng)約束(來自模型中的所有信號(hào)約束窗口),以及整定參數(shù)的設(shè)置,參考信號(hào)設(shè)置,不確定參數(shù)設(shè)置,最優(yōu)化設(shè)置和仿真設(shè)置。
為了使Simulink模型中的系統(tǒng)參數(shù)達(dá)到用時(shí)域窗口對(duì)信號(hào)對(duì)圖形約束或者跟蹤參考信號(hào)獲得的性能要求,使用SOR軟件包是快捷高效的方法。SRO還能夠整定模型中存在的變量(標(biāo)量、向量及矩陣等)。使用SRO須在已有的Simulink模型中添加一個(gè)信號(hào)約束(Signal Constraint)這個(gè)特殊的模塊。在把模型中需進(jìn)行約束的信號(hào)與此信號(hào)約束模塊連接,在SRO中就會(huì)自動(dòng)地把時(shí)域約束轉(zhuǎn)變?yōu)樽顑?yōu)化約束問題,最后就使用優(yōu)化工具箱或遺傳算法與直接搜索工具箱中的函數(shù)進(jìn)行最優(yōu)化算法求解。所以在Matlab用SRO軟件包對(duì)Simulink建立的控制系統(tǒng)響應(yīng)最優(yōu)化是一種操作簡(jiǎn)單,方法實(shí)用及高效設(shè)計(jì)的過程。