2019年第4章-控制系統(tǒng)的設(shè)計與仿真-MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件_第1頁
2019年第4章-控制系統(tǒng)的設(shè)計與仿真-MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件_第2頁
2019年第4章-控制系統(tǒng)的設(shè)計與仿真-MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件_第3頁
2019年第4章-控制系統(tǒng)的設(shè)計與仿真-MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件_第4頁
2019年第4章-控制系統(tǒng)的設(shè)計與仿真-MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件_第5頁
已閱讀5頁,還剩233頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2019年第4章--控制系統(tǒng)的設(shè)計與仿真--MATLAB控制系統(tǒng)設(shè)計與仿真-教學(xué)課件第一頁,共238頁。4.1系統(tǒng)建模與仿真框圖的創(chuàng)建4.1.1問題描述眾所周知,現(xiàn)實世界中存在著各種不同的控制系統(tǒng)。對于線性時不變(LTI)系統(tǒng),一般可以分為連續(xù)和離散系統(tǒng)。MATLAB中為用戶提供了豐富的針對各種系統(tǒng)的建模手段。圖4.1顯示了MATLAB中各種線性時不變(LTI)系統(tǒng)之間的轉(zhuǎn)換關(guān)系。第二頁,共238頁。圖4.1連續(xù)與離散系統(tǒng)的關(guān)系示意圖第三頁,共238頁。圖4.1中顯示了MATLAB可以完成離散和連續(xù)系統(tǒng)的建模,并且同一系統(tǒng)可以表示成連續(xù)系統(tǒng),也可以表示成離散系統(tǒng),它們之間可以以狀態(tài)方程形式進(jìn)行轉(zhuǎn)化。這一節(jié)將結(jié)合一個具體實例來演示MATLAB中各種模型創(chuàng)建和相互之間進(jìn)行轉(zhuǎn)化的方法,以及如何用Simulink進(jìn)行連續(xù)系統(tǒng)的仿真。首先給出實例的源程序MODLDEMO.M,然后根據(jù)不同的主題結(jié)合實例進(jìn)行講述。第四頁,共238頁。例4.1對于MassSpringDashpot機(jī)械系統(tǒng):(4.1)試建立該系統(tǒng)的連續(xù)和離散模型,并進(jìn)行時域和頻域仿真。解:程序源代碼如下:%MODLDEMO.M演示各種建模與仿真(時域和頻域)技巧clearall,closeall%程序開始,清空工作空間,關(guān)閉所有窗口deletemodldemo.out,diarymodldemo.out%打開二進(jìn)制文件第五頁,共238頁。disp(′***MODLDEMO.OUT***Diary′),disp(′′)m=1%各種系統(tǒng)常數(shù)定義k=1%單位kg/s^2c=[2.02.51.20.0]%單位kg/s第六頁,共238頁。%創(chuàng)建系統(tǒng)的狀態(tài)空間模型disp(′StateSpaceModels′)km=k/m;A1=[01;-km-c(1)/m],A2=[01;-km-c(2)/m]A3=[01;-km-c(3)/m],A4=[01;-km-c(4)/m]B=[01/m]′,C=[10],D=[0]sys1s=ss(A1,B,C,D);sys2s=ss(A2,B,C,D);sys3s=ss(A3,B,C,D);sys4s=ss(A4,B,C,D);第七頁,共238頁。%仿真系統(tǒng)的脈沖和階躍響應(yīng)(時域)t=0:.2:15;y1=impulse(sys1s,t);y2=impulse(sys2s,t);y3=impulse(sys3s,t);y4=impulse(sys4s,t);figure(1)subplot(221),plot(t,y1,′r′),title(′CriticalDamping―Impulse′),gridxlabel(′Time′),ylabel(′SystemResponse′)subplot(222),plot(t,y2,′r′),title(′OverDamping―Impulse′),gridxlabel(′Time′),ylabel(′SystemResponse′)第八頁,共238頁。subplot(223),plot(t,y3,′r′),title(′UnderDamping―Impulse′),gridxlabel(′Time′),ylabel(′SystemResponse′)subplot(224),plot(t,y4,′r′),title(′NoDamping―Impulse′),gridxlabel(′Time′),ylabel(′SystemResponse′)第九頁,共238頁。%y1=step(sys1s,t);y2=step(sys2s,t);y3=step(sys3s,t);y4=step(sys4s,t);figure(2)subplot(221),plot(t,y1,′r′),title(′CriticalDamping―Step′),gridxlabel(′Time′),ylabel(′SystemResponse′)subplot(222),plot(t,y2,′r′),title(′OverDamping―Step′),grid第十頁,共238頁。xlabel(′Time′),ylabel(′SystemResponse′)subplot(223),plot(t,y3,′r′),title(′UnderDamping―Step′),gridxlabel(′Time′),ylabel(′SystemResponse′)subplot(224),plot(t,y4,′r′),title(′NoDamping―Step′),gridxlabel(′Time′),ylabel(′SystemResponse′)disp(′hitanykeytocontinue′),pause第十一頁,共238頁。%在Matlab中進(jìn)行模型轉(zhuǎn)化。對于m=k=1,系統(tǒng)簡化的傳遞函數(shù)為%G(s)=1/[s^2+cs+1]=z(s)/p(s)disp(′TransferFunctionForm′)sys1t=tf(sys1s),sys2t=tf(sys2s)sys3t=tf(sys3s),sys4t=tf(sys4s)disp(′hitanykeytocontinue′),pause第十二頁,共238頁。%將傳遞函數(shù)形式轉(zhuǎn)化成零極點形式disp(′Zero―Pole―GainForm′)sys1z=zpk(sys1t),sys2z=zpk(sys2t)sys3z=zpk(sys3t),sys4z=zpk(sys4t)disp(′hitanykeytocontinue′),pause%演示留數(shù)定理的使用disp(′ResidueForm′)[n1,d1]=tfdata(sys1t);[n2,d2]=tfdata(sys2t);[n3,d3]=tfdata(sys3t);[n4,d4]=tfdata(sys4t);第十三頁,共238頁。%注意tfdata命令定義元胞數(shù)組%將元胞數(shù)組轉(zhuǎn)化成向量形式n1=n1{1},d1=d1{1},n2=n2{1},d2=d2{1},n3=n3{1},d3=d3{1},n4=n4{1},d4=d4{1},%使用留數(shù)定理[r1,pr1,kr]=residue(n1,d1),[r2,pr2,kr]=residue(n2,d2)[r3,pr3,kr]=residue(n3,d3),[r4,pr4,kr]=residue(n4,d4)disp(′hitanykeytocontinue′),pause第十四頁,共238頁。%進(jìn)行頻域仿真,這里使用nyquist函數(shù)(參考bode,freqs等函數(shù))w=logspace(-2,2,100);[re,im]=nyquist(sys1s,w);%SS形式re1(:,1)=re(1,1,:);im1(:,1)=im(1,1,:);g1=re1+i*im1;mag1=20*log10(abs(g1));phase1=angle(g1)*180/pi;[re,im]=nyquist(sys2s,w);%SS形式re2(:,1)=re(1,1,:);im2(:,1)=im(1,1,:);g2=re2+i*im2;mag2=20*log10(abs(g2));phase2=angle(g2)*180/pi;[re,im]=nyquist(sys3t,w);%TF形式re3(:,1)=re(1,1,:);im3(:,1)=im(1,1,:);g3=re3+i*im3;第十五頁,共238頁。mag3=20*log10(abs(g3));phase3=angle(g3)*180/pi;[re,im]=nyquist(sys4t,w);%TF形式re4(:,1)=re(1,1,:);im4(:,1)=im(1,1,:);g4=re4+i*im4;mag4=20*log10(abs(g4));phase4=angle(g4)*180/pi;%幅值曲線figure(3)subplot(221),semilogx(w,mag1,′r′),title(′CriticalDamping′),xlabel(′frequency′),ylabel(′|G(jw)|indb′)subplot(222),semilogx(w,mag2,′r′),title(′OverDamping′),xlabel(′frequency′),ylabel(′|G(jw)|indb′)第十六頁,共238頁。subplot(223),semilogx(w,mag3,′r′),title(′UnderDamping′),xlabel(′frequency′),ylabel(′|G(jw)|indb′)subplot(224),semilogx(w,mag4,′r′),title(′NoDamping′),xlabel(′frequency′),ylabel(′|G(jw)|indb′)disp(′hitanykeytocontinue′),pause%頻率曲線figure(4)subplot(221),semilogx(w,phase1,′r′),title(′CriticalDamping′),xlabel(′frequency′),ylabel(′angle′)第十七頁,共238頁。subplot(222),semilogx(w,phase2,′r′),title(′OverDamping′),xlabel(′frequency′),ylabel(′angle′)subplot(223),semilogx(w,phase3,′r′),title(′UnderDamping′),xlabel(′frequency′),ylabel(′angle′)subplot(224),semilogx(w,phase4,′r′),title(′NoDamping′),xlabel(′frequency′),ylabel(′angle′)disp(′hitanykeytocontinue′),pause第十八頁,共238頁。%繪制系統(tǒng)Nichols圖(對數(shù)坐標(biāo)形式)figure(5)subplot(221),plot(phase1,mag1,′r+′),title(′CriticalDamping′),xlabel(′angle′),ylabel(′|G(jw)|indb′),gtext(′w=0′)subplot(222),plot(phase2,mag2,′r+′),title(′OverDamping′),xlabel(′angle′),ylabel(′|G(jw)|indb′),gtext(′w=0′)subplot(223),plot(phase3,mag3,′r+′),title(′UnderDamping′),第十九頁,共238頁。xlabel(′angle′),ylabel(′|G(jw)|indb′),gtext(′w=0′)subplot(224),plot(phase4,mag4,′r+′),title(′NoDamping′),xlabel(′angle′),ylabel(′|G(jw)|indb′),gtext(′w=0′)disp(′hitanykeytocontinue′),pause第二十頁,共238頁。%繪制Nyquist圖(實部-虛部形式)figure(6)subplot(221),plot(re1,im1,′r+′),title(′CriticalDamping′),xlabel(′Real′),ylabel(′Imag′),gtext(′w=0′)subplot(222),plot(re2,im2,′r+′),title(′OverDamping′),xlabel(′Real′),ylabel(′Imag′),gtext(′w=0′)第二十一頁,共238頁。subplot(223),plot(re3,im3,′r+′),title(′UnderDamping′),xlabel(′Real′),ylabel(′Imag′),gtext(′w=0′)subplot(224),plot(re4,im4,′r+′),title(′NoDamping′),xlabel(′Real′),ylabel(′Imag′),gtext(′w=0′)disp(′hitanykeytocontinue′),pause第二十二頁,共238頁。%直接使用Nyquist函數(shù)繪制Nyquist圖figure(7)subplot(2,2,1),nyquist(sys1s,w),title(′CriticalDamping′),subplot(2,2,2),nyquist(sys2s,w),title(′OverDamping′),subplot(2,2,3),nyquist(sys3s,w),title(′UnderDamping′),第二十三頁,共238頁。subplot(2,2,4),nyquist(sys4s,w),title(′NoDamping′),disp(′hitanykeytocontinue′),disp([′hitcntrl-ctogetoutofthe′]),pause%使用Simulink框圖(文件名為mdemosl.mdl,如圖4.2所示)進(jìn)行仿真clearall%清空所有內(nèi)存第二十四頁,共238頁。m=1,k=1,c=1.2%定義常數(shù)disp(′DatafromgraphicalSimulinkmodel′)%計算線性化模型[A,B,C,D]=linmod(′mdemosl′),syss=ss(A,B,C,D);sysz1=zpk(syss),syssm=minreal(syss),sysz2=zpk(syssm)diaryoff%關(guān)閉二進(jìn)制文件第二十五頁,共238頁。圖4.2MassSpringDashpot系統(tǒng)仿真框圖第二十六頁,共238頁。4.1.2物理模型例4.1中研究的對象是一個簡單的物質(zhì)交換機(jī)械系統(tǒng),可以用微分方程表示成(4.2)其中,y(t)是系統(tǒng)的瞬時交換的質(zhì)量,k和c分別為比例常數(shù)。如果取狀態(tài)變量x1=y和x2=dy/dt,則可以得到系統(tǒng)的狀態(tài)方程形式:第二十七頁,共238頁??梢钥闯?矩陣A、B、C和D可以看成LTI系統(tǒng)的標(biāo)準(zhǔn)狀態(tài)方程形式,于是式(4.3)可以寫成(4.3)第二十八頁,共238頁。4.1.3時域仿真一般對控制系統(tǒng)進(jìn)行時域仿真可以采用impulse、step和lsim函數(shù),這些函數(shù)用來處理系統(tǒng)的狀態(tài)空間描述。例如,對于輸入信號u(t),系統(tǒng)的動態(tài)仿真可表示成sys=ss(A,B,C,D)[Y,T,X]=lsim(sys,U,t,xo)第二十九頁,共238頁。當(dāng)然,這些函數(shù)也可以處理系統(tǒng)的頻域表達(dá)形式,這時,LTI系統(tǒng)可以通過下式表示sys=tf(num,den)作為一個典型的例子,例4.1使用了impulse和step函數(shù)來仿真系統(tǒng)的時域特性。圖4.3和圖4.4分別為例4.1執(zhí)行的仿真結(jié)果。第三十頁,共238頁。圖4.3典型二階系統(tǒng)的脈沖響應(yīng)曲線第三十一頁,共238頁。圖4.4典型二階系統(tǒng)的階躍響應(yīng)曲線第三十二頁,共238頁。4.1.4模型轉(zhuǎn)換LTI系統(tǒng)的頻域描述可以用傳遞函數(shù)表示為Y(s)=G(s)U(s)(4.5)系統(tǒng)的傳遞函數(shù)矩陣為(4.6)對于例4.1研究的簡單SISO機(jī)械系統(tǒng),其傳遞函數(shù)可以寫成簡單的標(biāo)量形式(4.7)第三十三頁,共238頁。但是對于多輸入多輸出(MIMO)系統(tǒng)而言,其傳遞函數(shù)描述就有些復(fù)雜了,這時MATLAB中的模型轉(zhuǎn)換函數(shù)可以發(fā)揮作用,它可以完成系統(tǒng)在狀態(tài)方程形式與傳遞函數(shù)形式之間的互換,同時也可以將傳遞函數(shù)形式轉(zhuǎn)換成零極點-增益形式。相關(guān)的函數(shù)包括sys1=ss(A,B,C,D)sys2=tf(sys1)sys3=zpk(sys2)第三十四頁,共238頁。我們也可以采用ssdata、tfdata和zpkdata等命令將存儲在與一個指定LTI對象相聯(lián)的數(shù)據(jù)結(jié)構(gòu)中的信息抽取出來。例如[num,den]=tfdata(sys2)返回LTI對象sys2的分子和分母多項式系數(shù),num與den為相應(yīng)的元胞數(shù)組,其行數(shù)為輸出的維數(shù),列數(shù)等于輸入的維數(shù)。其中第i行第j列元素表示從第j個輸入到第i個輸出的傳遞函數(shù)。第三十五頁,共238頁。另一種從數(shù)據(jù)結(jié)構(gòu)中得到元胞數(shù)組的方法是使用MATLAB的celldisp命令。簡單的顯示數(shù)據(jù)的信息,可以使用如下的命令:fieldnames(sys2)num1=sys2.num,den1=sys2.dencelldisp(num1),celldisp(den1)也可以對零極點-增益形式完成顯示的操作。例如[Z,P,K]=zpkdata(sys3)第三十六頁,共238頁。將獲取LTI系統(tǒng)sys3每一個IO通道的零極點和增益大小。元胞數(shù)組Z、P和矩陣K的行與列分別與輸出和輸入的維數(shù)相同。其中第i行第j列元素表示從第j個輸入到第i個輸出傳遞函數(shù)的零極點和增益。對于單輸入單輸出(SISO)系統(tǒng),其傳遞函數(shù)與零極點-增益形式可以簡化成普通的分?jǐn)?shù)形式,即(4.8)第三十七頁,共238頁。4.1.5留數(shù)定理我們也可以將系統(tǒng)寫成幾個分?jǐn)?shù)相加的形式,例如對于SISO的機(jī)械系統(tǒng),G(s)可以寫成(4.9)(4.10)第三十八頁,共238頁。

r1,r2可以通過各種不同的方法計算得到。對于上述問題,MATLAB可用residue函數(shù)來完成這一運(yùn)算,即[r,p,k]=residue(B,A)其中B和A為包含多項式系數(shù)的行向量,而r和p是包含留數(shù)和極點的列向量。如果B(s)比A(s)的維數(shù)大,則k(s)不為零。第三十九頁,共238頁。4.1.6頻域仿真系統(tǒng)的頻域仿真在概念上是非常直觀的,但是計算起來常常比較復(fù)雜。作為練習(xí),讀者可以針對不同的ω值,計算下面的表達(dá)式G(jω)=C[jωI-A]-1

B+D(4.11)然后通常采用下列三種方法來繪制頻域曲線:Bode圖、Nichols圖和Nyquist曲線。第四十頁,共238頁。MATLAB中的一些函數(shù)用來獲取系統(tǒng)的頻域信號。首先必須產(chǎn)生一個頻率的向量。采樣點的坐標(biāo)通常采用對數(shù)形式,即從10d1到10d2共n個點,可以通過下面的命令來完成:w=logspace(d1,d2,n)bode和nyquist函數(shù)可以用來計算每一個頻率ω所對應(yīng)的G(jω),即[MAG,PHASE]=bode(sys,w)[RE,IM]=nyquist(sys,w)第四十一頁,共238頁。圖4.5典型二階系統(tǒng)的Bode幅值曲線第四十二頁,共238頁。圖4.6典型二階系統(tǒng)的Bode頻率曲線第四十三頁,共238頁。圖4.7第四十四頁,共238頁。圖4.8第四十五頁,共238頁。4.1.7仿真框圖及系統(tǒng)建立許多設(shè)計系統(tǒng)都可以由一些基本的組件和框圖中的反饋回路組成。在有些情況下,尋找系統(tǒng)的等價描述和相應(yīng)的狀態(tài)空間矩陣是比較困難的。幸運(yùn)的是,我們可以借助MATLAB從系統(tǒng)的Simulink仿真框圖直接建立它的狀態(tài)空間描述。這些工作可以通過MATLAB中的控制工具箱或Simulink的圖形仿真界面來完成。第四十六頁,共238頁。為了演示這一過程,同樣考慮一下例4.1所述的簡單機(jī)械系統(tǒng)。首先建立該系統(tǒng)的Simulink仿真框圖,然后自動創(chuàng)建原系統(tǒng)的狀態(tài)空間和整個系統(tǒng)的傳遞函數(shù)形式。下面將狀態(tài)方程展開,并且進(jìn)行Laplace變換(4.12)第四十七頁,共238頁。上述拉普拉斯變換可以對應(yīng)于如圖4.10所示的基本模塊。現(xiàn)在將這些模塊連接起來,定義輸出為Y(s)=X1(s),最后得到如圖4.2所示的仿真框圖。下面我們可以使用linmod函數(shù)來計算LTI系統(tǒng)的狀態(tài)矩陣:[A,B,C,D]=linmod(′mdemosl′)計算的結(jié)果與前面得到的結(jié)果一致。第四十八頁,共238頁。圖4.9MATLAB計算產(chǎn)生的典型二階系統(tǒng)的Nyquist曲線第四十九頁,共238頁。圖4.10Laplace變換下的基本模塊第五十頁,共238頁。4.2控制系統(tǒng)設(shè)計在經(jīng)典控制系統(tǒng)設(shè)計中通常以線性系統(tǒng)模型為研究對象。對于一個線性時不變(LTI)系統(tǒng),其狀態(tài)方程可以描述為(4.13)(4.14)第五十一頁,共238頁。這里已經(jīng)假定系統(tǒng)的輸出沒有顯式地包含輸入變量u(即D=0)。系統(tǒng)(4.14)也可以表示為傳遞函數(shù)形式:Y(s)=G(s)U(s)G(s)=C(sI-A)-1B(4.15)一個LTI系統(tǒng)的控制系統(tǒng)方框圖如圖4.11所示。第五十二頁,共238頁。圖4.11系統(tǒng)的線性狀態(tài)方程模型第五十三頁,共238頁。4.2.1經(jīng)典比例控制器在經(jīng)典控制系統(tǒng)的例子中,首先來看一下圖4.12所示的一個簡單的閉環(huán)系統(tǒng)。對于一個SISO系統(tǒng)而言,系統(tǒng)傳遞函數(shù)G(s)僅僅是式(4.15)所示的標(biāo)量函數(shù),該傳遞函數(shù)嵌入在圖4.12所示的方框圖中。反饋回路包含傳感器傳遞函數(shù)H(s),而控制器部分只有簡單的增益環(huán)節(jié)Kc組成,rd是閉環(huán)系統(tǒng)期望的響應(yīng)或參考點。第五十四頁,共238頁。圖4.12SISO系統(tǒng)的經(jīng)典比例控制器框圖第五十五頁,共238頁。圖4.12所示閉環(huán)系統(tǒng)的傳遞函數(shù)可以寫成(4.16)其中,Gc(s)為閉環(huán)傳遞函數(shù),Kc是經(jīng)典比例增益。對于單位反饋情況有H(s)=1,Gc(s)可以簡化為(4.17)下面是標(biāo)量輸入函數(shù)的時域表示

u(t)=Kc(rd(t)-y(t))=Kc(rd(t)-CTX(t))(4.18)第五十六頁,共238頁。從而式(4.14)可以寫成(4.19)這里的參考點rd成為系統(tǒng)的一個獨立輸入變量。第五十七頁,共238頁。既然控制器只有唯一的參數(shù)Kc需要確定,因此該系統(tǒng)的控制器設(shè)計比較簡單。閉環(huán)系統(tǒng)的暫態(tài)響應(yīng)由狀態(tài)方程系數(shù)矩陣的特征值或者整個系統(tǒng)的根極點確定。我們可以在時域中通過選擇合適的控制參數(shù)Kc,使得(A-KcBCT)的特征值產(chǎn)生期望的暫態(tài)響應(yīng)(上升時間、最大超調(diào)量等)。與此類似,也可以在傳遞函數(shù)中通過選擇合適的控制參數(shù)Kc來設(shè)計式(4.17)系統(tǒng)的根極點位置。這兩種設(shè)計方法是等價的。我們知道Gc(s)的極點是1+KcG(s)的根,因此可以將極點配置方程看作控制增益Kc的根。運(yùn)用根軌跡方法可以確定滿足設(shè)計要求的控制參數(shù)。

第五十八頁,共238頁。4.2.2狀態(tài)反饋控制器上述經(jīng)典控制器的主要不足是系統(tǒng)僅有唯一的控制參數(shù)Kc可供調(diào)整,而對于N維控制系統(tǒng),系統(tǒng)開環(huán)矩陣具有N個特征值或者開環(huán)傳遞函數(shù)具有N個極點,即det(A-λI)=0或det(sI-A)=0(4.20)要想將所有這些系統(tǒng)根極點調(diào)整到需要的位置,控制器至少需要N個獨立變量,因此僅僅將系統(tǒng)輸出信號進(jìn)行反饋將不能滿足控制器設(shè)計的要求。一個自然的想法就是將系統(tǒng)的所有狀態(tài)變量X都進(jìn)行反饋,這就產(chǎn)生了狀態(tài)反饋控制器。第五十九頁,共238頁。對于SISO系統(tǒng),狀態(tài)反饋后的系統(tǒng)輸入變成u(t)=rd(t)-KTsX(t)(4.21)

Ks稱為系統(tǒng)的反饋系數(shù)。這樣,閉環(huán)系統(tǒng)的狀態(tài)方程可以寫成(4.22)閉環(huán)系統(tǒng)的框圖如圖4.13所示。同時,圖4.11所示的狀態(tài)反饋系統(tǒng)變成圖4.14所示的仿真框圖。第六十頁,共238頁。圖4.13SISO系統(tǒng)的狀態(tài)反饋控制器第六十一頁,共238頁。圖4.14第六十二頁,共238頁。4.2.3完全可控性為了設(shè)計具有狀態(tài)觀測器的狀態(tài)反饋控制器,讓我們首先熟悉有關(guān)系統(tǒng)可控性的定義。假設(shè)一個SISOLTI系統(tǒng)由式(4.23)描述(4.23)第六十三頁,共238頁。如果該系統(tǒng)能夠構(gòu)造一個無約束的輸入信號u(t),使得系統(tǒng)能夠在有限的時間間隔內(nèi)(t0≤t≤tf)由初始狀態(tài)運(yùn)動到任何其它的狀態(tài),則可以說系統(tǒng)在t0時刻是可控的。如果系統(tǒng)的每個狀態(tài)都是可控的,則稱該系統(tǒng)是完全可控的。不失一般性,假設(shè)X(tf)=0,t0=0,則(4.24)根據(jù)完全可控性的定義,有(4.25)第六十四頁,共238頁?;蛘吒鶕?jù)Sylvester積分公式有(4.26)(4.27)(4.28)第六十五頁,共238頁。當(dāng)如下矩陣非奇異時,系統(tǒng)滿足完全可控的條件:

M=[BAB

A2B…AN-1

B](4.30)或者(4.29)第六十六頁,共238頁。4.2.4極點配置設(shè)計狀態(tài)反饋控制器的最簡單方法是采用極點配置。其基本思想是首先確定閉環(huán)系統(tǒng)N個根極點的期望位置,然后設(shè)計適當(dāng)?shù)姆答佋鲆?從而將系統(tǒng)的極點調(diào)整到期望的位置。如果系統(tǒng)是完全可控的,則這一過程完全可以表示成包含N個未知參數(shù)的N個方程組的求解。所需要設(shè)計的反饋控制增益就是該方程組的解。第六十七頁,共238頁。如果系統(tǒng)比較簡單,則完全可以通過手工計算完成系統(tǒng)的極點配置,但無論是手工計算,還是通過MATLAB函數(shù)自動計算,其基本步驟都是相同的,如下所示:(1)檢查系統(tǒng)的可控矩陣是否滿秩。(2)確定閉環(huán)系統(tǒng)的期望極點,μ1,μ2,…,μN(yùn)。(3)確定希望配置的極點位置后,可以建立期望的特征方程。第六十八頁,共238頁。(4)最后建立閉環(huán)系統(tǒng)的特征方程,即(sI-(A-BKTs))=0,將(3)、(4)步建立的方程聯(lián)立,由于其多項式的系數(shù)相等,由此可以建立N個位置參數(shù)的N個方程組,從而可以唯一地確定系統(tǒng)的反饋增益矩陣KTs。第六十九頁,共238頁。例4.2假定SISOLTI系統(tǒng)的狀態(tài)方程為閉環(huán)系統(tǒng)的期望極點為μ1,2=-1.8±2.4j,試設(shè)計確定系統(tǒng)狀態(tài)反饋的增益矩陣。解:首先觀察開環(huán)系統(tǒng)的極點第七十頁,共238頁??梢钥闯?系統(tǒng)開環(huán)極點為s1,2=±4.539,系統(tǒng)是不穩(wěn)定的。閉環(huán)系統(tǒng)的期望極點是由期望的系統(tǒng)暫態(tài)響應(yīng)特性(上升時間、讀者可以驗證,μ1,2=-1.8±2.4j的閉環(huán)極點將產(chǎn)生較好的動態(tài)特性(大約10%的最大超調(diào)量和大約0.6s的上升時間)。因此,期望的閉環(huán)系統(tǒng)極點是不唯一的。下面在已經(jīng)確定期望閉環(huán)系統(tǒng)極點的情況下來設(shè)計系統(tǒng)的反饋增益矩陣。Step1:驗證系統(tǒng)的可控性。第七十一頁,共238頁。矩陣M的秩等于N,因此系統(tǒng)滿足完全可控性條件。Step2~3:計算期望的特征方程(s-μ1)(s-μ2)=(s+1.8-j2.4)(s+1.8+j2.4)=s2+α1s+α2=0Step4:計算閉環(huán)系統(tǒng)的特征方程第七十二頁,共238頁。因此第七十三頁,共238頁。4.2.5帶全觀測器的狀態(tài)反饋控制設(shè)計狀態(tài)反饋控制器的主要問題是要求系統(tǒng)的所有狀態(tài)變量都是可測的。然而對于一個實際系統(tǒng)而言,有些狀態(tài)的信號值很難測量甚至不可能直接通過傳感器進(jìn)行測量,或者雖然可以進(jìn)行直接測量,但在經(jīng)濟(jì)上卻要增加相應(yīng)的成本。這樣,如果不能得到系統(tǒng)的全狀態(tài)向量,前面講述的狀態(tài)反饋控制就不可能實現(xiàn)。第七十四頁,共238頁。解決以上問題的方法是利用系統(tǒng)某種數(shù)學(xué)形式的仿真來估計不能測量的狀態(tài)值,這種方法稱之為系統(tǒng)的狀態(tài)觀測器設(shè)計。下面假定以SISOLTI系統(tǒng)為研究對象,這意味著系統(tǒng)有唯一的可控變量和唯一的可測量。同時,假定系統(tǒng)輸出y(t)是唯一能夠測量的量,它將被引入到狀態(tài)觀測器中來提高狀態(tài)值的估計過程。這里采用來表示狀態(tài)向量X(t)的在t時刻的估計值。第七十五頁,共238頁。狀態(tài)觀測器的框圖如圖4.15所示(注意變量xc表示。該觀測器使用u(t)和y(t)作為輸入量,并且輸出系統(tǒng)狀態(tài)關(guān)于時間的估計值。從框圖中可以看出(4.31)這里的L為未知的增益,它是根據(jù)該子系統(tǒng)期望的暫態(tài)響應(yīng)特性確定的,稱為狀態(tài)觀測器的增益矩陣。對于SISO系統(tǒng),L是長度為N的列向量。第七十六頁,共238頁。圖4.15SISO系統(tǒng)的狀態(tài)觀測器模型第七十七頁,共238頁。觀測器的設(shè)計過程與前面講述的標(biāo)準(zhǔn)狀態(tài)反饋控制器類似。這里的觀測器的增益選擇應(yīng)使?fàn)顟B(tài)觀測器的特征值是穩(wěn)定的,同時使得觀測器的動態(tài)變化快于整個閉環(huán)系統(tǒng)的動態(tài)屬性。觀測器的特征值由下式確定:det(sI-(A-LCT))=0(4.32)在狀態(tài)反饋控制系統(tǒng)中加入狀態(tài)觀測器,可得到圖4.16所示的系統(tǒng)框圖。對于該系統(tǒng),系統(tǒng)輸入為

(4.33)第七十八頁,共238頁。如果系統(tǒng)模型與狀態(tài)觀測器模型都采用相同的狀態(tài)空間矩陣A、B、CT進(jìn)行描述,則對于被研究對象有將式(4.33)的輸入代入上面的方程,則得到系統(tǒng)的完整模型(4.34)(4.35)第七十九頁,共238頁。圖4.16具有全狀態(tài)觀測器的狀態(tài)反饋控制系統(tǒng)框圖(SISO系統(tǒng))第八十頁,共238頁。對于狀態(tài)觀測器,將式(4.33)代入式(4.31)可以得到觀測器的完整模型或者(4.36)(4.37)定義誤差向量將式(4.37)代入得到誤差向量的動態(tài)模型(4.38)(4.39)第八十一頁,共238頁。4.2.6完全可觀性如果系統(tǒng)的每個狀態(tài)X(t0)都可以通過y(t)一段時間的觀測值來確定,則該系統(tǒng)被稱為是完全可觀的??紤]式(4.23)定義的SISOLTI系統(tǒng),其時域解為(4.40)假設(shè)u(τ)=0,為方便計算,上式可以寫成(4.41)第八十二頁,共238頁。其中,CTeAt已知,y(t)可測。因此狀態(tài)向量X(0)可以通過y(t)的觀測值間接計算得到。對于SISO系統(tǒng),方程(4.41)僅有一個方程,但包含N個未知參數(shù)。然而,由于該方程獨立于時間變量,因此,在多個時刻對y(t)進(jìn)行測量,可以獲得多個類似的方程,將它們聯(lián)立,就可以唯一確定系統(tǒng)的初始狀態(tài)X(0)。下面給方程(4.41)兩邊同時乘以已知的系數(shù)矩陣,得到(4.42)(4.43)(4.44)變換方程有第八十三頁,共238頁。將整個觀測時間內(nèi)的所有方程進(jìn)行聯(lián)立,得到(4.45)其中(4.46)最后求解方程(4.45),得到如果W是非奇異的,X(0)可以由y(t)的觀測值唯一確定,從而系統(tǒng)是完全可觀的。再次使用Sylvester的積分公式,得到第八十四頁,共238頁。定義(4.48)(4.49)(4.50)第八十五頁,共238頁。4.2.7觀測器增益的確定確定觀測增益矩陣同樣采用極點配置的方法。然而在這里,我們確定的是狀態(tài)觀測器誤差方程的極點位置。誤差極點位置的選擇比較隨意,但誤差動態(tài)變化應(yīng)該比被控系統(tǒng)的動態(tài)變化快一些。如果系統(tǒng)完全可觀,則(A-LCT)的N個特征值的位置應(yīng)該唯一確定觀測器增益矩陣的N個元素。設(shè)計的過程如下:(1)檢查系統(tǒng)可觀矩陣是否奇異。第八十六頁,共238頁。(2)為誤差方程指定期望的極點位置(μ1,μ2,…,μN(yùn))。這些極點位置與系統(tǒng)的主導(dǎo)極點相比較應(yīng)該更靠近復(fù)平面的左手邊。(3)根據(jù)期望的極點位置創(chuàng)建期望的特征方程。(4)最后創(chuàng)建誤差方程的特征方程,從而得到含有N個位置參數(shù)的方程組。同樣,以例4.2為例來說明SISO系統(tǒng)狀態(tài)觀測器的設(shè)計過程。第八十七頁,共238頁。例4.4用MATLAB的place函數(shù)重新設(shè)計例4.2的狀態(tài)反饋控制器與例4.3中的全狀態(tài)觀測器。解:程序代碼如下:%SFSOTEST.MSISOLTI系統(tǒng)的狀態(tài)反饋控制器與全狀態(tài)觀測器的設(shè)計clearall,closeall,nfig=0;%打開二進(jìn)制文件保存結(jié)果deletesfsotest.outdiarysfsotest.outdisp(′′)disp(′***SFSOTEST.OUT***Diary′)第八十八頁,共238頁。disp(′′)%PartI.創(chuàng)建線性系統(tǒng)模型,顯示其開環(huán)系統(tǒng)是不穩(wěn)定的SetupbasedataforthelinearA=[01;20.60];B=[01]′;%建立系統(tǒng)的狀態(tài)空間模型C=[10];D=[0];disp(′StateSpaceMatricesforthePlant′)A,B,C,D第八十九頁,共238頁。%computeeigenvaluesofstatematrixforopenloopplantdisp(′Eigenvaluesofthe"OpenLoopPlant"′);%計算開環(huán)系統(tǒng)狀態(tài)矩陣特征值ev=eig(A)%PartII.加入狀態(tài)反饋控制器以穩(wěn)定系統(tǒng),對狀態(tài)1的輸出量進(jìn)行仿真%檢查系統(tǒng)的可控性disp(′ControllabilityMatrixforthissystem′),M=ctrb(A,B)disp(′RankofControllabilityMatrix′),rank(M)clp=[-1.8+2.4j-1.8-2.4j];%計算狀態(tài)反饋控制增益Ks=place(A,B,clp);第九十頁,共238頁。disp(′Desiredclosedlooppolesforstatefeedbackcontroller′);clpdisp(′Statefeedbackgainsneededtogivedesiredpoles′);Ksdisp(′Calculatedeigenvaluesofsystemwithstatefeedback′);eig(A-B*Ks)Nv=-1.0/(C*inv(A-B*Ks)*B);%計算Nvdisp(′SetpointgainforzeroSSerror′);Nvto=0;tf=5;nfig=0;%對被控系統(tǒng)+控制器進(jìn)行仿真t=linspace(to,tf,101);syscl1=ss(A-B*Ks,B*Nv,C,D);[y1,t,x1]=step(syscl1,t);第九十一頁,共238頁。nfig=nfig+1;figure(nfig)%繪制相關(guān)結(jié)果曲線subplot(2,1,1),plot(t,x1(:,1),′r-′,t,x1(:,2),′g--′),grid,title(′StatesforStateFeedbackTestCase′)xlabel(′Time′),ylabel(′StateVariables′)legend(′x1(t)′,′x2(t)′)%PartIII.加入狀態(tài)反饋控制器與全狀態(tài)觀測器,仿真狀態(tài)1的階躍響應(yīng)特性%檢查系統(tǒng)的完全可觀性disp(′ObservabilityMatrixforthissystem′),H=obsv(A,C)disp(′RankofObservabilityMatrix′),rank(H)第九十二頁,共238頁。%針對指定的觀測器極點計算觀測器增益op=3*clp;%觀測器的速度是閉環(huán)系統(tǒng)的3倍L=place(A′,C′,op);L=L′;disp(′Desiredobserverpolesforstatefeedbackcontroller′);opdisp(′Estimatorgainsneededtogivedesiredpoles′);Ldisp(′Calculatedeigenvaluesofestimatorsystem′);eig(A-L*C)A11=A;A12=-B*Ks;B1=B*Nv;A21=L*C;A22=A-L*C-B*Ks;B2=B*Nv;zz=0;AB=[A11A12;A21A22];BB=[B1;B2];CB=[Czz*C];第九十三頁,共238頁。%對控制系統(tǒng)進(jìn)行仿真syscl2=ss(AB,BB,CB,D);[y2,t,x2]=step(syscl2,t);%分離系統(tǒng)狀態(tài)與觀測器的估計狀態(tài)nn=max(size(A));xp2=x2(:,1:nn);xe2=x2(:,nn+1:2*nn);%繪制全觀測器情況下的計算結(jié)果subplot(2,1,2),plot(t,xp2(:,1),′r-′,t,xp2(:,2),′g--′),grid,title(′StatesforStateFeedbackwithFullObserverTestCase′)xlabel(′Time′),ylabel(′StateVariables′)legend(′x1(t)′,′x2(t)′)第九十四頁,共238頁。%繪制狀態(tài)估計的誤差nfig=nfig+1;figure(nfig)plot(t,xp2(:,1)-xe2(:,1),′r-′,t,xp2(:,2)-xe2(:,2),′g--′),grid,title(′DifferenceBetweenPlantandObserverStates′)xlabel(′Time′),ylabel(′ErrorinStateVariables′)legend(′e1(t)′,′e2(t)′)Diaryoff%關(guān)閉二進(jìn)制文件第九十五頁,共238頁。圖4.17系統(tǒng)模型與觀測器動態(tài)性能演示第九十六頁,共238頁。圖4.17系統(tǒng)模型與觀測器動態(tài)性能演示第九十七頁,共238頁。圖4.18狀態(tài)誤差的動態(tài)曲線第九十八頁,共238頁。4.2.8對偶系統(tǒng)回憶前面論述的系統(tǒng)可控與可觀性的定義,可知系統(tǒng)的可控性要求其可控矩陣滿秩,反映的是狀態(tài)矩陣A與輸入矩陣B之間的關(guān)系;而系統(tǒng)的可觀性要求其可觀矩陣滿秩,反映的是狀態(tài)矩陣A與輸出矩陣CT之間的關(guān)系。這兩個概念實際上反映了控制系統(tǒng)的對偶原則。對于一般的MIMO系統(tǒng)(4.52)(4.54)(4.53)第九十九頁,共238頁。對于系統(tǒng)1,其完全狀態(tài)可控的充要條件是M矩陣滿秩,即M1=[BAB

A2B…AN-1B](4.55)系統(tǒng)完全狀態(tài)可觀性的充要條件是H*矩陣滿秩,即H*1=[C*

A*

C*

A*

2C*…A*N-1

C*](4.56)對于系統(tǒng)2,其完全狀態(tài)可控的充要條件是M矩陣滿秩,即M2=[C*

A*

C*

A*2

C*…A*N-1C*](4.57)第一百頁,共238頁。系統(tǒng)完全狀態(tài)可觀性的充要條件是H*矩陣滿秩,即H*2=[B

AB

A2B…AN-1B](4.58)綜上所述,給定系統(tǒng)的可觀性可以通過其對偶系統(tǒng)的可控性來檢驗,而研究系統(tǒng)的可控性則可以通過其對偶系統(tǒng)的可觀性來研究,這些性質(zhì)稱為系統(tǒng)的對偶原則。第一百零一頁,共238頁。4.3控制系統(tǒng)的時域仿真前一節(jié)以經(jīng)典控制器和狀態(tài)反饋控制器為例講述了控制系統(tǒng)控制參數(shù)的設(shè)計過程。設(shè)計過程主要依據(jù)的是系統(tǒng)的時域特性,即閉環(huán)系統(tǒng)狀態(tài)矩陣的特征值決定了閉環(huán)系統(tǒng)的暫態(tài)響應(yīng)特性??刂破髟O(shè)計的目標(biāo)是選擇控制器的增益,使得閉環(huán)系統(tǒng)狀態(tài)矩陣的特征值位于期望的極點位置。第一百零二頁,共238頁??刂破鲄?shù)確定以后,下一步需要對閉環(huán)系統(tǒng)進(jìn)行仿真。在設(shè)計過程中研究的對象一般是系統(tǒng)的線性化模型。而在仿真過程中,應(yīng)該盡可能準(zhǔn)確地再現(xiàn)實際的系統(tǒng)模型,這就常常要求以實際的時變或非線性系統(tǒng)為仿真的對象。這一節(jié)主要論述控制器參數(shù)確定以后的系統(tǒng)仿真過程。為簡單起見,仍然以SISO系統(tǒng)為研究對象。其線性與非線性模型分別為(4.59)(4.60)第一百零三頁,共238頁。4.3.1經(jīng)典比例控制器設(shè)計單位反饋回路的簡單比例控制系統(tǒng)框圖如圖4.19所示。系統(tǒng)控制輸入為(4.61)使用線性化模型的閉環(huán)仿真方程為(4.62)寫成標(biāo)準(zhǔn)的狀態(tài)方程形式(4.63)第一百零四頁,共238頁。如果采用非線性模型進(jìn)行仿真,必須使用MATLAB中標(biāo)準(zhǔn)的ODE求解器來完成。為此,用戶必須定義一個函數(shù)文件,MATLAB中的ODE求解器調(diào)用該函數(shù)來完成非線性系統(tǒng)的仿真。該函數(shù)文件包含下面的內(nèi)容:(1)指定t時刻的參考輸入rd(t)。(2)計算系統(tǒng)t時刻的輸出y(t)=CTX(t)。(3)確定t時刻的輸入u(t)=Kc(rd(t)-y(t))。(4)計算t時刻狀態(tài)變量的導(dǎo)數(shù)第一百零五頁,共238頁。圖4.19SISO系統(tǒng)的經(jīng)典比例單位反饋控制框圖第一百零六頁,共238頁。4.3.2狀態(tài)反饋控制器帶全狀態(tài)觀測器的狀態(tài)反饋控制框圖如圖4.20所示。該框圖類似于圖4.16,不同之處在于這里的模型包括一個附加的穩(wěn)態(tài)狀態(tài)增益模塊,其中包含一個歸一化的增益變量Nr。我們再來看看該系統(tǒng)線性化模型與非線性模型的仿真方程,并且重新調(diào)整控制器的增益(KTs,L和Nr等)。控制規(guī)律寫成(4.64)第一百零七頁,共238頁。該系統(tǒng)的閉環(huán)模型包括實際的系統(tǒng)狀態(tài)X(t)以及估計的系統(tǒng)狀態(tài)。這樣,該系統(tǒng)具有2N個未知參數(shù)。對于線性系統(tǒng)模型,該系統(tǒng)的完整模型為被控系統(tǒng)模型(4.65)觀測器模型(4.66)寫成標(biāo)準(zhǔn)的狀態(tài)方程形式為第一百零八頁,共238頁。圖4.20具有全狀態(tài)觀測器的狀態(tài)反饋控制系統(tǒng)第一百零九頁,共238頁。4.3.3混合控制器下面將研究一種將狀態(tài)反饋控制運(yùn)用到經(jīng)典控制器中的例子。在這個例子中,狀態(tài)反饋制器為經(jīng)典控制器提供修正的參考信號。例如,對于圖4.18的經(jīng)典控制系統(tǒng),如果選擇的增益Kc不滿足系統(tǒng)的設(shè)計要求,我們可能會手動調(diào)節(jié)參考點rd,以使系統(tǒng)具有更好的暫態(tài)響應(yīng)特性??梢栽O(shè)想一種控制方案來自動為參考信號rd(t)提供實時的修正信號rdm(t),控制框圖如圖4.20所示。第一百一十頁,共238頁。圖中左邊的sum模塊的輸出為修正后的參考點信號,在此之后,該系統(tǒng)看上去就像是具有單位反饋回路和比例增益Kc的經(jīng)典控制器。在這個控制方案中,狀態(tài)觀測器和狀態(tài)反饋回路的目標(biāo)是提供一個修正的參考信號,來改善經(jīng)典控制系統(tǒng)的控制效果。這種方法稱為狀態(tài)反饋輔助的經(jīng)典控制方法(SFACC),也稱為混合的控制器。第一百一十一頁,共238頁。圖4.21顯示的控制系統(tǒng)實際上可以看作是前面講述的狀態(tài)反饋控制系統(tǒng),其控制框圖可以認(rèn)為是從圖4.20的標(biāo)準(zhǔn)形式通過某些模塊變換發(fā)展而來。圖4.22~4.24顯示了其中的變換,主要步驟包括:(1)在系統(tǒng)輸入前加上一個比例增益模塊,并且在相應(yīng)的引入回路中抵消它的影響(如圖4.22所示)。第一百一十二頁,共238頁。圖4.21具有嵌入經(jīng)典控制器的狀態(tài)反饋控制框圖(SFACC)第一百一十三頁,共238頁。(2)對系統(tǒng)輸出y構(gòu)造一個負(fù)反饋,它可以對估計輸出的正反饋加以抵消(如圖4.23所示)。(3)分離出經(jīng)典控制器部分(圖4.24中的陰影部分)。(4)最后定義修正的狀態(tài)反饋增益Ksm和修正的穩(wěn)態(tài)狀態(tài)歸一因子Nnn。(4.68)(4.69)第一百一十四頁,共238頁。圖4.22在SFC中加入經(jīng)典控制增益第一百一十五頁,共238頁。圖4.23加入經(jīng)典負(fù)反饋回路第一百一十六頁,共238頁。圖4.24分離出經(jīng)典比例控制器部分第一百一十七頁,共238頁。圖4.21所示的SFACC控制系統(tǒng)與傳統(tǒng)的狀態(tài)反饋控制系統(tǒng)SFC(如圖4.20所示)在功能上是一致的。僅有的近似存在于第(2)步,這一步假設(shè)估計的輸出與實際的系統(tǒng)輸出完全抵消。如果狀態(tài)觀測器設(shè)計成相對控制系統(tǒng)有足夠快的反應(yīng)時間,這種近似是可以滿足要求的(對于線性模型)。第一百一十八頁,共238頁。從以上的討論中可以看出,SFC和SFACC具有相同的暫態(tài)響應(yīng)。然而,SFACC算法比前者具有更好的控制效果。并且SFACC可以方便地在原先經(jīng)典控制系統(tǒng)的基礎(chǔ)上進(jìn)行擴(kuò)展,而不需要破壞原來已經(jīng)存在的控制系統(tǒng)。這讓用戶可以從經(jīng)典控制器直接過渡到現(xiàn)代控制系統(tǒng)。為了對SFACC控制系統(tǒng)進(jìn)行仿真,我們假定控制規(guī)律為修正后的參考信號為將式(4.71)代入式(4.70),有(4.70)(4.71)(4.72)第一百一十九頁,共238頁。與SAC控制系統(tǒng)類似,SFACC閉環(huán)系統(tǒng)既包含實際狀態(tài)也包含估計狀態(tài),因此,可以獲得2N個未知參數(shù)。對于線性系統(tǒng)模型,有系統(tǒng)模型為(4.73)(4.74)(4.75)第一百二十頁,共238頁?;蛘?4.76)寫成標(biāo)準(zhǔn)的狀態(tài)方程形式為其中(4.78)第一百二十一頁,共238頁。4.3.4參考輸入增益的調(diào)整在前面的框圖中,為了減小比例控制器帶來的穩(wěn)態(tài)誤差,引入了一個輸入歸一化模塊。該模塊的增益值可以根據(jù)下面的算式進(jìn)行確定(圖4.25顯示了系統(tǒng)的簡化模型)。線性模型(4.79)(4.80)控制律第一百二十二頁,共238頁。系統(tǒng)穩(wěn)態(tài)時,我們希望yss與參考點rdss相同。簡化系統(tǒng)穩(wěn)態(tài)時的狀態(tài)方程為(4.81)求解該方程,得穩(wěn)態(tài)時的狀態(tài)向量為(4.82)第一百二十三頁,共238頁。圖4.25具有SS增益模塊的狀態(tài)反饋控制系統(tǒng)第一百二十四頁,共238頁。穩(wěn)態(tài)輸出為(4.83)最后將yss=rdss代入,得到Nr的計算公式為(4.84)第一百二十五頁,共238頁。4.4實例:倒擺系統(tǒng)的建模與仿真4.4.1引言這一節(jié)我們先看一個實際的例子。圖4.26是某個倒擺系統(tǒng)的示意圖,倒擺通過轉(zhuǎn)動關(guān)節(jié)安裝在驅(qū)動小車上,通過對小車施加一定的驅(qū)動,使倒擺保持一定的姿態(tài)。這是姿態(tài)控制問題的典型代表。第一百二十六頁,共238頁。圖4.26驅(qū)動小車上的倒擺示意圖第一百二十七頁,共238頁。4.4.2基本方程假定倒擺由無質(zhì)量的輕桿和質(zhì)量為m的小球組成,小車的質(zhì)量為M,系統(tǒng)所受的外力包括小球受到的重力和對小車水平方向的驅(qū)動力u(t)。x(t)和θ(t)分別表示小車的水平坐標(biāo)和倒擺偏離垂直方向的角度,如圖4.27所示。根據(jù)牛頓運(yùn)動學(xué)第二定律,在水平x軸方向上系統(tǒng)滿足下面的方程:(4.85)第一百二十八頁,共238頁。圖4.27小球受到的力矢量圖第一百二十九頁,共238頁。其中,小球受到的重力為常值,其中心的坐標(biāo)表示為(xG,yG),滿足

xG=x+lsinθyG=lcosθ(4.86)

l為倒擺的桿長。將式(4.86)代入式(4.85),得到(4.87)由下面的基本關(guān)系(4.88)(4.89)第一百三十頁,共238頁。得到同樣,通過小球的力矩平衡關(guān)系,可以得到小球的平衡方程:(4.90)(4.91)由式(4.86)~(4.89),可以計算得到Fx和Fy的表達(dá)式:(4.92)(4.93)第一百三十一頁,共238頁。將式(4.92)、(4.93)代入式(4.91)中,兩邊消去l:最后得到(4.94)第一百三十二頁,共238頁。方程(4.90)和(4.94)構(gòu)成了倒擺系統(tǒng)的動力學(xué)模型。顯然,從數(shù)學(xué)的角度上看,該系統(tǒng)為明顯的非線性系統(tǒng)。但是對小車施加驅(qū)動力的目的是保持倒擺在垂直方向上的姿態(tài),因此,我們關(guān)注的是倒擺在垂直方向附近的動態(tài)變化,為此,可以將系統(tǒng)在該參考位置(θ=0)進(jìn)行線性化,這樣可以對簡化得到的線性模型進(jìn)行控制器的設(shè)計。在后面的內(nèi)容中,將分別對線性化前后的模型進(jìn)行比較和研究。第一百三十三頁,共238頁。4.4.3非線性狀態(tài)方程描述為了對倒擺系統(tǒng)的非線性模型進(jìn)行數(shù)值仿真,需要首先將模型表示成標(biāo)準(zhǔn)的狀態(tài)方程形式:由式(4.94)可以得到(4.95)(4.96)將其代入式(4.90),有(4.97)(4.98)第一百三十四頁,共238頁。將其代入式(4.90)中同樣,可以由式(4.94)得到(4.99)第一百三十五頁,共238頁。上式滿足式(4.95)的標(biāo)準(zhǔn)狀態(tài)方程的形式。假定系統(tǒng)輸出為倒擺的角度和小車的x軸坐標(biāo),則系統(tǒng)的輸出方程為(4.102)第一百三十六頁,共238頁。4.4.4線性狀態(tài)方程描述為了得到倒擺在垂直位置附近的線性化模型,我們只要對式(4.97)描述的非線性狀態(tài)方程進(jìn)行線性化即可。根據(jù)前幾節(jié)論述的方法,該系統(tǒng)的線性化模型為(4.103)第一百三十七頁,共238頁。這里的參考狀態(tài)為倒擺靜止在垂直方向,并且小車的驅(qū)動力為零,即Z0=0,u0=0。下面來逐項計算Jacobian矩陣。

Jz(Z0,u0)的第一列由決定,其中第一和第三個函數(shù)與z1不直接相關(guān),其偏導(dǎo)數(shù)等于零。對于第二項,有第一百三十八頁,共238頁。同樣,對第四項有第一百三十九頁,共238頁。

Jz(Z0,u0)的第二列由fi/z2|z0,u0決定,式(4.101)顯示f1/z2=1,f3/z2=0,對于第二和第四項有Jz(Z0,u0)的第三和第四列中僅有的非零項為第一百四十頁,共238頁。第一百四十一頁,共238頁。4.4.5倒擺系統(tǒng)的MATLAB仿真1.倒擺系統(tǒng)的開環(huán)與閉環(huán)仿真這一部分的仿真主要研究下面三方面的內(nèi)容:(1)對倒擺非線性模型與線性化模型不穩(wěn)定動態(tài)特性的比較。(2)線性化模型可以由MATLAB函數(shù)linmod直接計算得到,以及如何用S函數(shù)表示非線性模型。(3)列舉一些不夠理想的經(jīng)典反饋控制方案。第一百四十二頁,共238頁。仿真計算的M文件包括INVPN1.M、INVPNNL1.M和INVPNNL2.M等等。其中,INVPN1.M為主文件,主要功能是控制仿真計算的流向同時完成以上的分析過程。第(1)步比較將檢驗倒擺線性化系統(tǒng)與非線性系統(tǒng)的階躍響應(yīng)。倒擺的非線性模型在INVPNNL1.M文件中進(jìn)行定義,仿真采用MATLAB的ode23函數(shù)計算模型中狀態(tài)變量的導(dǎo)數(shù)。第一百四十三頁,共238頁。由于模型是不穩(wěn)定的,因此只仿真系統(tǒng)1s內(nèi)的動態(tài)行為,仿真結(jié)果如圖4.28所示。從圖中可以發(fā)現(xiàn),隨著小車水平指標(biāo)的增長,倒擺將沿逆時針方向偏離垂直狀態(tài),這與實際經(jīng)驗相吻合。同時可以觀察到,在仿真的最后,非線性模型與線性化后的模型動態(tài)行為的差異越來越大,這是因為對系統(tǒng)的線性化是在倒擺垂直方向(Z0=0)進(jìn)行的,因此這種近似只是在該點附近有意義。第一百四十四頁,共238頁。圖4.28倒擺開環(huán)系統(tǒng)的階躍響應(yīng)第一百四十五頁,共238頁。INVPN1.M文件的第(2)步將演示如何在MATLAB/Simulink環(huán)境中進(jìn)行動態(tài)系統(tǒng)的仿真。在MATLAB仿真中,一個Simulink仿真方框圖可以被轉(zhuǎn)換成相應(yīng)的S函數(shù),該函數(shù)具備所有的仿真方程,可以用來計算狀態(tài)變量的導(dǎo)數(shù)、輸出函數(shù)以及系統(tǒng)的初始狀態(tài)。隨后,轉(zhuǎn)換后的S函數(shù)可以用來進(jìn)行仿真(使用sim命令)或者計算線性化模型(使用linmod)。在這個例子中,S函數(shù)直接在INVPNNL2.M文件中構(gòu)造,它可以通過Simulink中的Sfunction模塊連接到仿真方框圖中。第一百四十六頁,共238頁。盡管某些具體語法不同,但S函數(shù)文件INVPNNL2.M所包含的基本方程與ode23函數(shù)文件INVPNNL1.M中所使用的方程基本相同。有關(guān)S函數(shù)的使用說明請參考MATLAB/Simulink的有關(guān)文檔和幫助(可以參考sfuntmpl模板文件)。在這個例子中,sim和linmod函數(shù)分別被用來仿真非線性系統(tǒng)的階躍響應(yīng)和計算參考點附近的線性模型。將其結(jié)果與前面MATLAB的標(biāo)準(zhǔn)分析結(jié)果相比較,可以發(fā)現(xiàn)二者是完全相同的。第一百四十七頁,共238頁。這樣,S函數(shù)可以用來替代MATLAB中傳統(tǒng)的ODE求解器進(jìn)行系統(tǒng)仿真,同時它還為用戶帶來更大的靈活性,尤其在希望對線性化模型進(jìn)行數(shù)值分析的時候。在這個例子中,系統(tǒng)的線性化模型原本是由計算相應(yīng)的Jacobian矩陣得到的,不難看出,這種過程是相當(dāng)費時的,并且對于比較復(fù)雜的系統(tǒng),這種計算甚至很難進(jìn)行。借助Simulink中的linmod函數(shù),可以采用數(shù)值方法很容易地得到系統(tǒng)的線性化模型。第一百四十八頁,共238頁。上面的仿真結(jié)果顯示倒擺的開環(huán)響應(yīng)是不穩(wěn)定的,因此需要設(shè)計控制器來鎮(zhèn)定倒擺系統(tǒng)并且提高系統(tǒng)對外界的抗干擾能力。圖4.29、4.30為倒擺設(shè)計了經(jīng)典控制器。問題是倒擺的開環(huán)系統(tǒng)在原點有兩個極點,另一個不穩(wěn)定極點位于負(fù)平面的右半平面。我們希望同時控制小車的位置和倒擺的姿態(tài),而系統(tǒng)只有對小車的驅(qū)動力一個輸入變量。第一百四十九頁,共238頁。圖4.29倒擺姿態(tài)的經(jīng)典控制方框圖第一百五十頁,共238頁。圖4.30小車位置的經(jīng)典控制方框圖第一百五十一頁,共238頁。圖4.31小車位置和倒擺姿態(tài)的經(jīng)典控制方框圖第一百五十二頁,共238頁。圖4.32經(jīng)典控制器作用下倒擺系統(tǒng)的響應(yīng)曲線第一百五十三頁,共238頁。上面的仿真結(jié)果顯示倒擺的開環(huán)響應(yīng)是不穩(wěn)定的,因此需要設(shè)計控制器來鎮(zhèn)定倒擺系統(tǒng)并且提高系統(tǒng)對外界的抗干擾能力。圖4.29、4.30為倒擺設(shè)計了經(jīng)典控制器。問題是倒擺的開環(huán)系統(tǒng)在原點有兩個極點,另一個不穩(wěn)定極點位于負(fù)平面的右半平面。我們希望同時控制小車的位置和倒擺的姿態(tài),而系統(tǒng)只有對小車的驅(qū)動力一個輸入變量。第一百五十四頁,共238頁。2.狀態(tài)反饋的MATLAB仿真上面的仿真結(jié)果顯示倒擺系統(tǒng)的經(jīng)典控制器的控制效果不盡人意,因此下面將為它設(shè)計狀態(tài)反饋控制器。INVPN2.M文件演示了針對倒擺系統(tǒng)的狀態(tài)反饋控制器的仿真和設(shè)計過程。同時比較了在加入狀態(tài)觀測器和沒有狀態(tài)觀測器情況下系統(tǒng)線性化模型的動態(tài)行為,并且為非線性模型設(shè)計了全狀態(tài)觀測器和狀態(tài)反饋控制器。

第一百五十五頁,共238頁。INVPN2.M文件一開始為倒擺系統(tǒng)和線性化模型建立了基本的設(shè)計參數(shù),確定閉環(huán)系統(tǒng)的根極點位于-1.5±3j、-5和-6,最后對小車位置的階躍響應(yīng)進(jìn)行了仿真。下面分析在這樣的根極點位置情況下系統(tǒng)的頻域特性。第一百五十六頁,共238頁。極點位置自然頻率阻尼比最大超調(diào)量、上升時間和穩(wěn)定時間第一百五十七頁,共238頁。因此系統(tǒng)具有大約20%的超調(diào)量和3s的穩(wěn)定時間,這樣的動態(tài)系統(tǒng)應(yīng)該是比較理想的。對于期望的閉環(huán)系統(tǒng)極點,MATLAB中的place函數(shù)可以決定期望的反饋增益。圖4.33、4.34為小車位置和狀態(tài)變量的仿真曲線。第一百五十八頁,共238頁。圖4.33狀態(tài)反饋下小車位置的階躍響應(yīng)曲線第一百五十九頁,共238頁。從仿真曲線中可以看出,系統(tǒng)的動態(tài)屬性與期望的一致:小車開始沿x+方向移動,3~4s后靜止在x=1m處。注意到這時候所有的狀態(tài)變量都趨于0,x(t)趨于平衡點(如圖4.34所示)。第一百六十頁,共238頁。圖4.34狀態(tài)反饋下狀態(tài)變量的時間曲線第一百六十一頁,共238頁。INVPN2.M文件的下一步是為閉環(huán)系統(tǒng)加入狀態(tài)觀測器,適當(dāng)選擇觀測器的極點,使觀測器的動態(tài)速度是系統(tǒng)的兩倍以上。為此,再次使用MATLAB的place命令,從而確定觀測器的增益。最后對帶全觀測器的狀態(tài)反饋控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論