Lantos Béla

Irányítási rendszerek elmélete és tervezése III.

Robusztus szabályozási rendszerek


F3. Példa: LPV szabályozó tervezés (RCT HINFGS)

%ex4polytope.m % LPV gain scheduling controller design for a missile model % using RCT hinfgs %-------------------------------- %Used extra functions (not MATLAB RCT): % pdk2sstf % spiralt %-------------------------------- clear all close all rand('seed',0) % pNum = 100 ; polyc = [ ] ; % Fixed polytopic coordinates poly1 = [ 1, 0, 0, 0 ] ; poly2= [ 0, 1, 0, 0 ] ; poly3 = [ 0, 0, 1, 0.] ; poly4 = [ 0, 0, 0, 1 ] ; polyc = [ polyc; poly1; poly2; poly3; poly4 ] ; for j = 1 : 9 poly1 = [ 1-j*0.1, j*0.1, 0, 0 ] ; poly2= [ 0, 1-j*0.1, j*0.1, 0 ] ; poly3 = [ 0, 0, 1-j*0.1, j*0.1 ] ; poly4 = [ j*0.1, 0, 0, 1-j*0.1 ] ; poly5 = [ 1-j*0.1, 0, j*0.1, 0 ] ; poly6 = [ 0, 1-j*0.1, 0, j*0.1 ] ; polyc = [ polyc; poly1; poly2; poly3; poly4; poly5; poly6 ] ; end % random polytopic coordinates for j = 1 : pNum-58 poly= rand(1,4) ; poly= poly/sum(poly) ; polyc = [ polyc; poly ] ; end %Specify the range of parameter values Zmin=.5; Zmax=4; Mmin=0; Mmax=106; pv=pvec('box',[Zmin Zmax; Mmin Mmax]); % %Specify parameter-dependent model s0=ltisys([0 1;0 0],[0;1],[-1 0;0 1],[0;0]); s1=ltisys([-1 0;0 0],[0;0],zeros(2),[0;0],0); s2=ltisys([0 0;-1 0],[0;0],zeros(2),[0;0],0); pdPa=psys(pv,[s0 s1 s2]); % pdP = aff2pol( pdPa ) ; psinfo(pdP) % data of polytopic system pvinfo(pv) % data of parameter % %pNum=size(pdP,1); figure omega = logspace( -2, 2, 200 ) ; for j = 1 : pNum Pdp = psinfo(pdP,'eval',polyc(j,:)) ; [adp,bdp,cdp,ddp] = ltiss(Pdp) ; sys = ss(adp,bdp,cdp,ddp) ; [vs] = sigma( sys, omega ) ; semilogx( omega, mag2db( vs ) ) ; hold on ; grid on ; end title('\sigma(P(\rho)') xlabel('Frequency (rad/s)') ylabel('magnitude (dB)') % Define weighting functions np=2.0101; dp=[1.0000e+00 2.0101e-01]; Wp=ltisys('tf',np,dp); nu=[9.6785e+00 2.9035e-02 0 0]; du=[1.0000e+00 1.2064e+04 1.1360e+07 1.0661e+10]; Wu=ltisys('tf',nu,du); invWu=ltisys('tf',du,nu); figure omega = logspace( -4, 5, 200 ) ; bodemag(tf(np,dp),'r',tf(du,nu),'b',omega) axis([1e-4 1e5 -60 60]) legend('Wp','1/Wu') grid on % Compute augmented plant inputs = 'r' ; outputs = 'Wp;Wu' ; Kin = 'K:e=r-G(1);G(2)' ; [Gaug,r]=sconnect(inputs,outputs,Kin,'G:K',... pdP,'Wp:e',Wp,'Wu:K',Wu); % figure omega = logspace( -2, 2, 200 ) ; for j = 1 : pNum Pdg = psinfo(Gaug,'eval',polyc(j,:)) ; [adg,bdg,cdg,ddg] = ltiss(Pdg) ; sys = ss(adg,bdg,cdg,ddg) ; vs = sigma( sys, omega ) ; semilogx(omega,mag2db(vs(1,:)),omega,mag2db(vs(2,:))) ; hold on ; grid on ; end title('\sigma(G(\rho)') xlabel('Frequency (rad/s)') ylabel('magnitude (dB)') legend({'$\bar{\sigma}(G(\rho))$',... '$\underline{\sigma}(G(\rho))$'},'Interpreter','latex') % Minimize gamma for the loop-shaping criterion [gopt,pdK]=hinfgs(Gaug,r,0,1e-2); gopt % Find vertex controllers [Kss,Ktf,Kzpk,NK,NS,NI,NO] = pdK2sstf(pdK); fprintf('K1(s)\n') Kzpk{1} fprintf('K2(s)\n') Kzpk{2} fprintf('K3(s)\n') Kzpk{3} fprintf('K4(s)\n') Kzpk{4} % Form the closed-loop system pCL=slft(Gaug,pdK); % figure omega = logspace( -4, 4, 300 ) ; for j = 1 : pNum Pd = psinfo(pdK,'eval',polyc(j,:)) ; [adk,bdk,cdk,ddk] = ltiss(Pd) ; sys = ss(adk,bdk,cdk,ddk) ; [vs] = sigma( sys, omega ) ; semilogx( omega, mag2db( vs ) ) ; hold on ; grid on; end invWu=tf(du,nu); omegaWu = logspace( 2, 4, 300 ) ; magdbWu=20*log10(bode(invWu,omegaWu)); semilogx(omegaWu,magdbWu(:),'rs') title('\sigma(K(\rho)') xlabel('Frequency (rad/s)') ylabel('magnitude (dB)') %--------------------------------------- pdPo = psinfo(pdP,'eval',polyc(j,:)) ; pdKo = psinfo(pdK,'eval',polyc(j,:)) ; Pd = smult(pdKo, pdPo ) ; % Pd = psinfo(pCL,'eval',polyc(j,:)) ; % pdPo = psinfo(pdP,'eval',polyc(j,:)) ; pdKo = psinfo(pdK,'eval',polyc(j,:)) ; Pd = smult(pdKo, pdPo ) ; pdS = sloop( eye(2), Pd ) ; % pdPo = psinfo(pdP,'eval',polyc(j,:)) ; pdKo = psinfo(pdK,'eval',polyc(j,:)) ; Pd = smult(pdKo, pdPo ) ; pdT = sloop( Pd, eye(2) ) ; % [pdG0,r]=sconnect('r','e=r-G(1);K','K:e;G(2)','G:K',pdP); pCL0=slft(pdG0,pdK); % AZV=[]; U=[]; t=[0:.01:1]'; for j=1:pNum Pcl=psinfo(pCL0,'eval',polyc(j,:)); [acl,bcl,ccl,dcl]=ltiss(Pcl); y=step(acl,bcl,ccl,dcl,1,t); AZV=[AZV,1-y(:,1)]; U=[U,y(:,2)/20]; end figure; grid on; hold on; plot(t,AZV); title('Vertical acceleration a_{zv}(t)'); ylabel('a_{zv}'); xlabel('t (s)'); figure; grid on; hold on; plot(t,U); title('Control input \delta_m(t)/20'); ylabel('\delta_m/20'); xlabel('t (s)'); % t0=[0:.001:.5]; pt=spiralt(t0); figure; plot(pt(1,:),pt(2,:)); title('\rho(t)'); ylabel('M_\alpha'); xlabel('Z_\alpha'); % [t,x,y]=pdsimul(pCL0,'spiralt',.5); figure; plot(t,1-y(:,1)); title('Vertical acceleration a_{zv} for spiral \rho(t)'); ylabel('a_{zv}'); xlabel('t (s)'); figure; plot(t,y(:,2)/20); title('Control input \delta_m/20 for spiral \rho(t)'); ylabel('\delta_m/20'); xlabel('t (s)'); % % % Extra functions (not MATLAB/RCT) %------------------------------------------- function [Kss,Ktf,Kzpk,NK,NS,NI,NO] = pdK2sstf(pdK) % Compute Kj-th controller [TYP,NK,NS,NI,NO] = psinfo(pdK); Kss=cell(1,NK); Ktf=cell(1,NK); Kzpk=cell(1,NK); for j=1:NK Kj=psinfo(pdK,'sys',j); [aj,bj,cj,dj]=ltiss(Kj); Kjss=ss(aj,bj,cj,dj); Kjtf=tf(Kjss); Kjzpk=zpk(Kjtf); Kss{j}=Kjss; Ktf{j}=Kjtf; Kzpk{j}=Kjzpk; end %------------------------------------------- function ZM = spiralt(t) %Spiral curve for Z and M Z=2.25+1.70*exp(-4*t).*cos(100*t); M=50+49*exp(-4*t).*sin(100*t); ZM=[Z; M]; %-------------------------------------------

Irányítási rendszerek elmélete és tervezése III.

Tartalomjegyzék


Kiadó: Akadémiai Kiadó

Online megjelenés éve: 2018

ISBN: 978 963 454 054 0

Az irányítástechnika tudománya rohamosan fejlődik, eredményei ma már elengedhetetlen alapját képezik a biztonságos erőművi és folyamatirányítási rendszereknek, robotizált gyártórendszereknek és az autonóm földi, légi, vízi és űrbeli járművek irányítási rendszereinek.

A három kötetre tervezett sorozat eme utolsó kötete a robusztus irányítások elméletével és tervezésével foglalkozik. Szerves folytatása az általános rendszertechnikai ismereteket adó első kötetnek és a többváltozós optimális, nemlineáris és adaptív szabályozások korszerű tervezési módszereit bemutató második kötetnek.

A robusztus irányítások elmélete arra a kérdésre keres mérnöki választ, hogyan lehet olyan fix, a tervezés és implementálás után üzem közben már nem változó szabályozót tervezni, amely változó szabályozott szakaszok esetén is biztosítani tudja a szabályozással szemben támasztott elvárások (stabilitás, zavarás elnyomás, kis dinamikus és statikus hiba) teljesülését.

A kötet először összefoglalja a tervezéshez szükséges matematikai alapokat. Az idő- és frekvenciatartománybeli jelek nagyságának jellemzésére normákat definiál, és bevezeti a tárgyalásukhoz szükséges Lebesgue- és Hardy-tereket.

Megfogalmazza a belső stabilitás elvét és perturbációk esetére a kis erősítés tételt. Bemutatja a stabilizáló szabályozók Youla-paraméterezését. A perturbált rendszer leírására bevezeti a lineáris tört transzformációkat (LFT). Megadja a stabilizáló szabályozók állapotteres alakját.

A tervezési módszerek közül először a lineáris rendszer kvadratikus kritérium szerinti optimális irányításával foglalkozik LTV, LTI és sztochasztikus rendszer esetén. Módszert mutat be a nagy fázistöbbletet biztosító hurokátvitel visszaállításra. Megfogalmazza az általános H2 (energia) optimális szabályozótervezési feladatot és megadja az optimális irányítás számítási módszerét.

Ezután a Hinf optimális szabályozás tervezésére mutat be módszereket. Megadja a gamma-optimális centrális Hinf szabályozó tervezési algoritmusát, az integráló szabályozás biztosítását és a telítés kezelését. Két megoldást (1-DOF, 2-DOF) mutat be a hurokformálás tervezésére, utóbbiban lehetőséget adva referencia modell előírására is. Az eredményeket repülőgép irányítás esetén illusztrálja. Módszert mutat be a Hinf szabályozó tervezésére mu-analízis, DK-iteráció és LMI technika bevonásával, melyet az invertált inga instabil munkapontja körüli szabályozással illusztrál.

Ezután a kötet bemutatja a nemsima, nemkonvex optimalizáláson alapuló előírható fokszámú és stabil Hinf robusztus szabályozó tervezési módszereket és a tervezést támogató szoftver eszközöket. A tervezési módszer lehetővé teszi megválasztható fokszámú mintavételes Hinf szabályozó és előírt struktúrájú analóg (pl. MIMO PID) szabályozók tervezését, valamint közös Hinf szabályozó tervezését egyszerre több szabályozott szakaszhoz. Példa mutatja be az optimalizálást az újabb MATLAB eszközök bevonásával is.

Végül a könyv az LPV rendszerek robusztus irányításának bemutatásával zárul. A módszereket egy példa illusztrálja az újabb MATLAB eszközök bevonásával. A kötet jól hasznosítható az egyetemi szabályozástechnikai szakirányú mester- és PhD-képzésben, és rendszertechnikailag megalapozza a korszerű folyamatirányítási, mechatronikai és az autonóm (vezető nélküli) járműirányítási rendszerek tervezését.

Hivatkozás: https://mersz.hu/lantos-iranyitasi-rendszerek-elmelete-es-tervezese-iii//

BibTeXEndNoteMendeleyZotero

Kivonat
fullscreenclose
printsave