05.05.2013 Views

m - Katedra ASR FEI STU

m - Katedra ASR FEI STU

m - Katedra ASR FEI STU

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Ústav stav riadenia a priemyselnej informatiky<br />

<strong>FEI</strong> <strong>STU</strong> Bratislava<br />

Riadenie iadenie neline nelineárnych<br />

rnych dynamických<br />

dynamick ch<br />

systémov syst mov umel umelými<br />

ými neurónovými<br />

neur novými<br />

sieťami sie ami<br />

Ing. Slavomír Slavom r KAJAN, KAJAN,<br />

PhD.


Základné štruktúry neurónových regulátorov<br />

Inverzné Inverzn riadenie (General ( General learning) learning<br />

Priame inverzné inverzn riadenie s učen u ením m (Direct ( irect Inverse nverse Control ontrol) )<br />

(Specialized Specialized learning) learning<br />

Robustné Robustn priame inverzné inverzn riadenie<br />

Internal nternal model odel control ontrol (IMC)<br />

Riadenie s referenčným referen ným modelom (Model ( odel Reference eference<br />

Control ontrol)<br />

Adaptívny Adapt vny regulátor regul tor s adaptívnym adapt vnym neurónovým neur novým modelom<br />

Prediktívny Predikt vny neurónový neur nový regulátor regul tor<br />

Prediktívny Predikt vny regulátor regul tor realizovaný neurónovou neur novou sieťou sie ou<br />

Samonastavujúci<br />

Samonastavuj ci sa prediktívny predikt vny neurónový neur nový regulátor regul tor


Základné štruktúry neurónových regulátorov<br />

Inverzné Inverzn riadenie (General ( General learning) learning :<br />

r Inverzný model u y<br />

Najjednoduchší riadiaci obvod<br />

Použitie inverzného modelu procesu<br />

(pri trénovaní NS je vstupom y a<br />

výstupom u)<br />

Zapojenie nie je vhodné pre systémy s<br />

integračným charakterom a nerieši<br />

prípadnú poruchu<br />

Zapojenie nepotláča chybu<br />

natrénovania modelu<br />

+<br />

-<br />

Proces<br />

u y<br />

Proces<br />

Inverzný model<br />

Schéma trénovania NS


Základné štruktúry neurónových regulátorov<br />

Priame inverzné inverzn riadenie s učen u ením m (DIC)<br />

(Špecializovan<br />

pecializované učenie enie - specialized learning) learning :<br />

priebežná adaptácia neurónovej siete na základe regulačnej<br />

odchýlky prípadne jej derivácií.<br />

Problémom je určenie pravidiel pre adaptáciu neurónovej siete, ak<br />

nie je známy matematický model procesu.<br />

Riadiaci algoritmus prebieha vždy v dvoch krokoch. V prvom<br />

kroku je pomocou neurónovej siete pri známych vstupoch určená<br />

veľkosť akčného zásahu a v druhom, spätnom kroku, sú<br />

optimalizované synaptické váhy neurónovej siete pri minimalizácii<br />

účelovej funkcie.


Riadenie dynamických systémov s UNS<br />

Priame Priame<br />

inverzné inverzn neurónov neur nové riadenie<br />

7 - 5


Riadenie dynamických systémov s UNS<br />

Robustné Robustn priame priame<br />

inverzné inverzn neurónov neur nové riadenie<br />

B je vstup do prahového neurónu<br />

β je adaptačné zosilnenie<br />

7 - 6


Základné štruktúry neurónových regulátorov<br />

Internal model control (IMC) :<br />

r Inverzný model u y<br />

+<br />

-<br />

Najčastejšie používané riadiace zapojenie s NS<br />

Proces<br />

Neurónový model<br />

Použitie inverzného modelu procesu (pri trénovaní NS je vstupom y a výstupom<br />

u)<br />

Zapojenie potláča chybu natrénovania modelu (zvyšuje robustnosť riadenia)<br />

Zapojenie sa dá použiť iba pre systémy stabilné v otvorenej slučke.<br />

- +<br />

V zápornej spätnej väzba môže byť zapojený filter na utlmenie skokových zmien


Základné štruktúry neurónových regulátorov<br />

Riadenie s referenčným referen ným modelom (MRC) :<br />

Referenčný<br />

model<br />

r u y<br />

Neurónový<br />

Proces<br />

regulátor<br />

Adaptačný<br />

mechanizmus<br />

Úlohou riadiaceho obvodu je aby výstup procesu sledoval výstup referenčného<br />

modelu<br />

Odchýlka medzi výstupmi procesu a modelu je použitá pre učenie regulátora<br />

Zapojenie je podobné ako inverné priame riadenie, ale lepšia robustnosť a on-line<br />

trénovanie regulátora<br />

+<br />

yr<br />

-<br />

7 - 8


Základné štruktúry neurónových regulátorov<br />

Samonastavujúci<br />

Samonastavuj ci regulátor regul tor s adaptívnym adapt vnym neurónovým neur novým modelom: modelom<br />

Využíva regulačnú odchýlku (a jej<br />

deriváciu) počítanú od výstupu<br />

neurónového modelu na<br />

optimalizáciu parametrov<br />

regulátora (priebežná adaptácia<br />

parametrov regulátora)<br />

V Zapojení je zapnutá on-line<br />

adaptácia neurónového modelu<br />

(adaptívny neurónový model)<br />

Regulátor v všeobecnom tvare<br />

u(k)=f(e(k),..,e(k-n),u(k-1),…,u(k-n))<br />

alebo v tvare<br />

u(k)=f(e(k),..,e(k-n))<br />

alebo PID tvar u(k)=<br />

Pe(k)+T*I*sum(e(k))+D(e(k)-e(k-1))/T<br />

Kriteriálna funkcia<br />

1<br />

′ =<br />

t<br />

2<br />

[ ( ) ( ) ] 2<br />

r t + 1 − y + 1<br />

J R<br />

m


Prediktívne algoritmy riadenia na báze UNS<br />

Model Predictive Control (MPC) - názov<br />

skupiny moderných metód riadenia<br />

• Explicitná predikcia chovania sa procesu v<br />

budúcnosti<br />

( y(<br />

k −1),....,<br />

y(<br />

k −n<br />

), u(<br />

k −1−d),...,<br />

u(<br />

k −n<br />

−d)<br />

+ v(<br />

) )<br />

ˆ( k)<br />

fˆ<br />

k<br />

y = y<br />

u−k<br />

• Výpočet postupnosti hodnôt riadiaceho zásahu<br />

zabezpečujúceho sledovanie referenčnej<br />

premennej výstupnou regulovanou veličinou<br />

7 - 10


Typické vlastnosti MPC prístupov :<br />

• využívajú model procesu, a to buď parametrický<br />

alebo neparametrický (impulzná alebo prechodová<br />

funkcia)<br />

• umožňujú zohľadniť dopravné oneskorenie,<br />

inverznú odozvu a pomerne zložitú dynamiku<br />

procesov<br />

• umožňujú kompenzovať vplyv merateľných<br />

a nemerateľných porúch (dopredné formy riadenia)<br />

• sú formulované ako optimalizačný problém<br />

účelovej funkcie pri zohľadnení ohraničujúcich<br />

podmienok (fyzikálne ohraničenia na vstupné a<br />

výstupné premenné).<br />

7 - 11


7 - 12


Štruktúra priameho prediktívneho neurónového regulátora<br />

Využíva priamy neurónový model na predikciu budúcich<br />

výstupov z procesu<br />

1. Riadiaci zásah je v každom kroku regulačného pochodu<br />

optimalizovaný tak, aby predikovaná hodnota výstupu y m<br />

dosiahla žiadanú hodnotu r.<br />

2. Pri vačšine zapojení je aktivovaná priebežná adaptácia<br />

neurónovej siete na základe odchýlky výstupu modelu a<br />

procesu.<br />

( y(<br />

k),<br />

K,<br />

y(<br />

k −n+<br />

1),<br />

u(<br />

k),<br />

u(<br />

k ) )<br />

y( k + 1)<br />

= g<br />

K −m<br />

7 - 13


Formulácia úlohy prediktívného riadenia<br />

1. Riadený proces je reprezentovaný nelineárnou diferenčnou rovnicou<br />

kde<br />

( y(<br />

k −1),....,<br />

y(<br />

k −n<br />

), u(<br />

k −1−<br />

d),...,<br />

u(<br />

k −n<br />

−d)<br />

+ v(<br />

) )<br />

y = y<br />

u−k<br />

( k)<br />

f<br />

k<br />

y ( k )<br />

=<br />

⎡<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

y<br />

y<br />

1<br />

p<br />

( k ) ⎤<br />

.<br />

⎥<br />

⎥<br />

. ⎥ ,<br />

⎥<br />

. ⎥<br />

( k ) ⎥<br />

⎦<br />

u ( k )<br />

⎡ u<br />

⎢<br />

⎢<br />

= ⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣u<br />

1<br />

m<br />

( k ) ⎤<br />

.<br />

⎥<br />

⎥<br />

. ⎥ ,<br />

⎥<br />

. ⎥<br />

( k ) ⎥<br />

⎦<br />

v ( k )<br />

⎡ v<br />

⎢<br />

⎢<br />

= ⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣ v<br />

Výstupy Vstupy Poruchy<br />

1<br />

p<br />

( k ) ⎤<br />

.<br />

⎥<br />

⎥<br />

. ⎥<br />

⎥<br />

. ⎥<br />

( k ) ⎥<br />

⎦<br />

p –počet výstupov, n y –počet minulých hodnôt výstupov<br />

m –počet vstupov, n u –počet minulých hodnôt vstupov<br />

f – je nelineárna funkcia<br />

( y(<br />

k −1),....,<br />

y(<br />

k − n ), u(<br />

k −1−<br />

d),...,<br />

u(<br />

k − n − d)<br />

+ v(<br />

) )<br />

ˆ( k)<br />

fˆ<br />

k<br />

y = y<br />

u−k<br />

7 - 14


Formulácia úlohy prediktívného riadenia<br />

2. Účelová funkcia (riadiace kritérium)<br />

Všeobecný tvar kvadratickej účelovej funkcie<br />

V<br />

V<br />

k<br />

=<br />

P<br />

∑<br />

i=<br />

1<br />

x<br />

T<br />

T<br />

T<br />

( k + i)<br />

Qx(<br />

k + i)<br />

+ u(<br />

k + i)<br />

Ru(<br />

k + i)<br />

+ ∆u(<br />

k + i)<br />

S∆u(<br />

k + i)<br />

P<br />

2<br />

( P , M ) = [ yˆ<br />

( k + i)<br />

− r ( k + i)<br />

] + ρ () i [ ∆u<br />

( k + i)<br />

]<br />

∑<br />

i = N<br />

M −1<br />

∑<br />

i=<br />

0<br />

[ ]<br />

Tvar kvadratickej účelovej funkcie pre vstupno/výstupný opis procesu s<br />

poznaním predikcie žiadanej (referenčnej) premennej r(k+i)<br />

Q, R, S sú kladne definitné váhové matice pre stavy procesu x,<br />

riadiaceho signálu u a jednotlivé zmeny riadiaceho signálu ∆u<br />

N – dolná hranica predikčného horizontu, P – horná hranica<br />

predikčného horizontu, M – holná hranica riadiaceho horizontu,<br />

ρ(i) – váhový faktor jednotlivých zmien riadiaceho signálu<br />

M<br />

∑<br />

i = 1<br />

2<br />

7 - 15


Základné štruktúry neurónových regulátorov<br />

Prediktívny Predikt vny neurónový neur nový regulátor regul tor:<br />

r u y<br />

Optimalizácia<br />

u’<br />

Využíva priamy neurónový model<br />

Na základe predikcie výstupu procesu z NS ym’ je hľadaný akčný<br />

zásah u’ optimalizáciou stanoveného kritéria<br />

V Zapojení je zapnutá on-line adaptácia neurónového modelu<br />

Nekompenzuje sa chyba modelu<br />

Proces<br />

Neurónový model<br />

y m’


Základné štruktúry neurónových regulátorov<br />

Prediktívny Predikt vny regulátor regul tor realizovaný neurónovou neur novou sieťou sie ou:<br />

r Neur. regulátor<br />

u y<br />

Optimalizácia<br />

u’<br />

Proces<br />

Neurónový model<br />

Využíva priamy neurónový model na nastavenie parametrov<br />

neurónového regulátora (off-line)<br />

Na základe predikcie výstupu procesu z NS ym’ a predpokladaného<br />

akčného zásahu u’ sú hľadané parametre regulátora optimalizáciou<br />

stanoveného kritéria<br />

V Zapojení je zapnutá on-line adaptácia neurónového modelu<br />

y m’


Základné štruktúry neurónových regulátorov<br />

Samonastavujúci<br />

Samonastavuj ci sa prediktívny predikt vny neurónový neur nový regulátor regul tor:<br />

Využíva nepriamy neurónový<br />

model na optimalizáciu akčného<br />

zásahu u<br />

Na základe predikcie výstupu<br />

procesu z NS ym’ a jej derivácie<br />

dym’/ du’ a predpokladaného<br />

akčného zásahu u’ sú hľadaný<br />

akčný zásah u optimalizáciou<br />

stanoveného kritéria<br />

V Zapojení je zapnutá on-line<br />

adaptácia neurónového modelu<br />

(adaptívny neurónový model)<br />

Kriteriálna funkcia<br />

1<br />

1<br />

' = α<br />

k +<br />

2<br />

2<br />

( ( ) ( ) ) [ ( ) ( ) ] 2<br />

2<br />

u k − u k −1<br />

+ r k + 1 − y 1<br />

J R<br />

M<br />

u(<br />

k)<br />

Nové<br />

∂J<br />

= u(<br />

k)<br />

Staré − λ<br />

∂u(<br />

k)<br />

r<br />

Staré<br />

∂ r '<br />

= α<br />

∂u(<br />

k )<br />

r u y<br />

Optimalizácia<br />

u’<br />

y m’ , dym’/du’<br />

Proces<br />

Adaptácia<br />

modelu<br />

Neurónový model<br />

-<br />

y m<br />

+<br />

( k + 1)<br />

⎤<br />

⎥⎦<br />

⎡ ∂y<br />

⋅ ⎢−<br />

⎣ ∂u(<br />

k )<br />

J M<br />

( u(<br />

k ) − u(<br />

k − 1)<br />

) + [ r(<br />

k + 1)<br />

− y M ( k + 1)<br />

]


Čo je predikcia z neurónového modelu?<br />

Máme me dynamický neurónový neur nový model NNARX<br />

ym(k)=f(y(k-1),...,y(k<br />

ym(k)=f(y(k 1),...,y(k-n),u(k n),u(k-1),...,u( 1),...,u(k-m)) ))<br />

Chceme predikovať predikova výstup procesu y s horizontom<br />

predikcie Np, Np,<br />

tj. tj.<br />

hodnotu y(k+Np y( k+Np)<br />

Potom predikcia výstupu y(k+ y( k+1) 1) sa vypočíta vypo ta<br />

ym(k+ ym k+1)=f(ym(k), 1)=f(ym(k), y(k-1),...,y(k<br />

y(k 1),...,y(k-n-1),u(k),...,u(k<br />

1),u(k),...,u(k-m-1)) 1))<br />

Predikcia výstupu y(k+ y( k+2) 2) sa vypočíta vypo ta<br />

ym(k+ ym k+2)=f(ym( 2)=f(ym(k+ k+1),ym(k), 1),ym(k), y(k-1),...,y(k<br />

y(k 1),...,y(k-n-2), 2),<br />

u(k+ u( k+1),...,u(k 1),...,u(k-m-2)) 2))<br />

7 - 19


Predpokladajme neurónový model s 3 minulými vstupmi u a y<br />

v tvare ym(k)=f(y(k-1), y(k-2),y(k-3),u(k-1), u(k-2),u(k-3))<br />

p=0,1,...,Np je počet vzoriek pri predikcii<br />

ym(k+Np-1)<br />

ym(k+Np-2)<br />

ym(k+Np-3)<br />

u(k +Np-1)<br />

u(k +Np-2)<br />

u(k +Np-3)<br />

Np ...<br />

6-3<br />

ym(k)<br />

y(k-1)<br />

y(k-2)<br />

u(k)<br />

u(k-1)<br />

u(k-2)<br />

1<br />

y(k-1)<br />

y(k-2)<br />

y(k-3)<br />

u(k-1)<br />

u(k-2)<br />

u(k-3)<br />

0<br />

NS<br />

model<br />

ym(k+Np)<br />

Np ...<br />

ym(k+1)<br />

Číslo vzorky vstupy (predikované) výstupy<br />

1<br />

ym(k)<br />

0<br />

7 - 20


% function [ypred,yproces]=prediktnn1(structnet,nu,ny,Np,datau,datay,ptype)<br />

maxindx=max([nu ny])+1; pocetvzoriek=length(datay)-maxindx-Np+1;<br />

ypred=zeros(pocetvzoriek,Np); yproces=zeros(pocetvzoriek,Np);<br />

vstupnn=zeros(nu+ny,pocetvzoriek);<br />

for indxNp=1:Np, % cyklus pre predikciu, Np – horizont predikcie<br />

if indxNp==1<br />

for k=1:nu,<br />

vstupnn(k,:)=datau(maxindx-k:end-k-Np);<br />

end<br />

else<br />

vstupnn(2:nu,:)=vstupnn(1:nu-1,:); % posuv vzoriek<br />

vstupnn(1,:)=datau(maxindx+indxNp-2:end-Np+indxNp-2); % zápis nových<br />

end<br />

if indxNp==1<br />

for k=1:ny,<br />

vstupnn(nu+k,:)=datay(maxindx-k:end-k-Np);<br />

end<br />

else<br />

vstupnn(nu+2:nu+ny,:)=vstupnn(nu+1:nu+ny-1,:); % posuv vzoriek<br />

vstupnn(nu+1,:)=ypred(:,indxNp-1)'; % zápis nových z výstupu NS<br />

end<br />

yproces(:,indxNp)=datay(maxindx+indxNp-1:end-Np+indxNp-1)';<br />

ypred(:,indxNp)=sim(structnet,vstupnn)'; % výpočet výstupu NS<br />

end<br />

7 - 21


% Demo na predikciu z NS modelu pre lin. system<br />

load datapred1 % nacitanie NS struktúry a meraných dát<br />

Npredikcie=20; % horizont predikcie<br />

% výpočet predikcie - pozri funkciu prediktnn1<br />

[ypred1,yproces1]=prediktnn1(net,3,3,Npredikcie,utest,ytest,0);<br />

% vypocet odchylky<br />

SSE=sum((ypred1(:,Npredikcie)-yproces1(:,Npredikcie)).^2)<br />

MSE=SSE/size(ypred1,1)<br />

figure, plot([yproces(:,Np) ypred(:,Np)])<br />

xlabel('vzorky'); ylabel('y');<br />

title('Predikcia z neuronoveho modelu')<br />

legend('proces','predikcia')<br />

7 - 22


Aplikácie a overenie inteligentných metód<br />

automatického riadenia<br />

Hydraulické Hydraulick systémy syst my<br />

Biotechnológie<br />

Biotechnol gie<br />

Polymerizácia<br />

Polymeriz cia<br />

Plynárenstvo<br />

Plyn renstvo<br />

Energetika<br />

7 - 23


y<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

Výsledky predikcie z NS pre SISO systém<br />

Neuronovy model<br />

proces<br />

NS model<br />

0<br />

0 200 400 600<br />

vzorky<br />

800 1000 1200<br />

y<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

Predikcia o 20 vzoriek<br />

Predikcia z neuronoveho modelu<br />

proces<br />

predikcia<br />

0<br />

0 200 400 600<br />

vzorky<br />

800 1000 1200<br />

SSE = 3.7026e-004 MSE = 3.1431e-007<br />

7 - 24


Výsledky modelovania MIMO systému (3x2) pomocou NS<br />

y<br />

1.8<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

Neuronovy model<br />

proces<br />

NS model<br />

0<br />

0 500 1000 1500 2000<br />

vz ork y<br />

2500 3000 3500 4000<br />

SSE1=0.3652e-5<br />

SSE2=0.3542e-5<br />

Systém 3 vstupy a 2-výstupy, pre model použité 3-minulé hodnoty,<br />

1 skrytá vrstva s 15 neurónmi<br />

7 - 25


y<br />

Výsledky predikcie MIMO systému (3x2) pomocou NS<br />

1.8<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

Predikcia z neuronoveho modelu<br />

proces<br />

predikcia<br />

0<br />

0 500 1000 1500 2000<br />

vzorky<br />

2500 3000 3500 4000<br />

SSE1=0.1066e-3<br />

SSE2=0.1215e-3<br />

Predikcia o 10 vzoriek<br />

SSE1=0.0629<br />

SSE2=0.7476<br />

7 - 26


Priame inverzné riadenie lin. systému<br />

- Lineárny systém 2. rádu s prenosovou funkciou<br />

- Vytvorenie neurónového a inverzného neurónového modelu<br />

7 - 27


y<br />

Priame inverzné riadenie lin. systému<br />

- Lineárny systém 2. rádu s prenosovou funkciou<br />

- Testovanie neurónového a inverzného neurónového modelu<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

Neuronovy model - testovanie<br />

0<br />

0 200 400 600<br />

vzorky<br />

800 1000 1200<br />

u<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

Inverzny neuronovy model - testovanie<br />

0<br />

0 200 400 600<br />

vzorky<br />

800 1000 1200<br />

7 - 28


w, y<br />

Priame inverzné riadenie lin. systému<br />

- Riadenie lineárneho systému 2. rádu s prenosovou funkciou<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0 50 100 150<br />

cas [s]<br />

200 250 300<br />

- Riadenie iba v otvorenom reg. obvode<br />

- Nepotláča poruchu<br />

u<br />

w, y<br />

2.4<br />

2.2<br />

2<br />

1.8<br />

1.6<br />

1.4<br />

1.2<br />

10<br />

5<br />

0<br />

-5<br />

-10<br />

120 130 140 150 160 170<br />

cas [s]<br />

120 130 140<br />

cas [s]<br />

150 160 170<br />

7 - 29


% príprava dát – máme utrain, utest, ytrain, ytest<br />

% posunutie vzoriek pre inverzný model<br />

% in=[y(k) y(k-1) y(k-2) y(k-3) y(k-4) u(k-2) u(k-3) u(k-4)]<br />

uk1=utrain(4:end-1); uk2=utrain(3:end-2); uk3=utrain(2:end-3); uk3=utrain(1:end-4);<br />

yk1=ytrain(4:end-1); yk2=ytrain(3:end-2); yk3=ytrain(2:end-3); yk3=ytrain(1:end-4);<br />

yk=ytrain(5:end);<br />

in=[yk’; yk1’; yk2’; yk3’; yk4’; uk2’; uk3’; uk4’];<br />

% out=u(k-1)<br />

out=uk1’;<br />

% vytvorenie NS<br />

netinv=newff([zeros(8,1) 5*ones(8,1)],[9 1],{'tansig' 'purelin'},'trainlm');<br />

% trenovanie<br />

netinv.trainParam.goal=1e-10;<br />

netinv.trainParam.epochs=500;<br />

netinv=train(netinv,in,out);<br />

% simulácia výstupu<br />

ynet=sim(netinv,in);<br />

figure, plot([out' ynet'])<br />

% testovanie<br />

…<br />

7 - 30


Simulačná schéma priameho inverzného riadenia s UNS<br />

Ziadana hodnota<br />

w<br />

Clock<br />

Zero-Order<br />

Hold<br />

u(k-1)<br />

u(k-2)<br />

w<br />

To Workspace2<br />

u(k)<br />

u(k-3)<br />

Oneskorovac u<br />

p{1} y {1}<br />

Inverzny neuronovy<br />

model<br />

y(k-1)<br />

y(k-2)<br />

y(k-3)<br />

1<br />

4s 2+5s+1<br />

System<br />

y(k)<br />

Oneskorovac y<br />

t<br />

To Workspace3<br />

uvz<br />

To Workspace1<br />

yvz<br />

T o Workspace<br />

y<br />

To Workspace4<br />

3<br />

y(k-3)<br />

2<br />

y(k-2)<br />

1<br />

y(k-1)<br />

Tvz – perioda<br />

vzorkovania<br />

1<br />

z<br />

Unit Delay2<br />

1<br />

z<br />

Unit Delay1<br />

1<br />

z<br />

Unit Delay<br />

1<br />

y(k)<br />

7 - 31


Ziadana hodnota<br />

w<br />

Clock<br />

Simulačná schéma robustného priameho inverzného<br />

riadenia s UNS<br />

t<br />

Zero-Order<br />

Hold<br />

To Workspace3<br />

1<br />

a{1}<br />

u(k-1)<br />

u(k-2)<br />

u(k)<br />

u(k-3)<br />

Oneskorovac u<br />

2<br />

B<br />

p{1}<br />

B<br />

TDL<br />

Delays 1<br />

B<br />

y{1}<br />

Inverzny neuronovy<br />

model<br />

bias<br />

b{2}<br />

B<br />

To Workspace5<br />

w<br />

y<br />

Adaptacny clen<br />

B=1+beta(sum(w-y))<br />

weight<br />

LW{2,1}<br />

Product<br />

y(k-1)<br />

y(k-2)<br />

y(k-3)<br />

1<br />

4s 2+5s+1<br />

System<br />

Porucha<br />

p<br />

y(k)<br />

Oneskorovac y<br />

netsum<br />

purelin<br />

1<br />

a{2}<br />

1<br />

p{1}<br />

a{1}<br />

2<br />

B<br />

w<br />

yvz<br />

y<br />

uvz<br />

1<br />

B<br />

1<br />

-K-<br />

Beta<br />

p{1} a{1}<br />

Layer 1<br />

a{1}<br />

a{2}<br />

B<br />

Layer 2<br />

1<br />

z<br />

1 w<br />

2<br />

y<br />

a{1}<br />

1<br />

y{1}<br />

7 - 32


w, y<br />

Robustné priame inverzné riadenie<br />

- Riadenie lineárneho systému 2. rádu s prenosovou funkciou<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0 50 100 150<br />

cas [s]<br />

200 250 300<br />

- Riadenie v otvorenom reg. obvode s pomocným<br />

adaptačným mechanizmom od reg. odchýlky<br />

-Potláča poruchu<br />

w, y<br />

u<br />

3<br />

2.5<br />

2<br />

1.5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

110 120 130 140<br />

cas [s]<br />

150 160 170<br />

110 120 130 140<br />

cas [s]<br />

150 160 170<br />

7 - 33


Simulačná schéma IMC s UNS<br />

Ziadana hodnota<br />

w<br />

Ze ro -O rd e r<br />

Hold<br />

p{1} y {1}<br />

Inverzny neuronovy<br />

model<br />

u(k-1)<br />

u(k-2)<br />

u(k)<br />

u(k-3)<br />

Oneskorovac u<br />

Ze ro -O rd e r<br />

Hold1<br />

Saturation<br />

y(k-1)<br />

y(k-2)<br />

y(k-3)<br />

y(k)<br />

Oneskorovac y<br />

p{1} y {1}<br />

Neuronovy model<br />

1<br />

4s 2 +5s+1<br />

System<br />

Porucha<br />

p<br />

1<br />

s+ 1<br />

Filter<br />

y<br />

To Workspace4<br />

porucha<br />

To Workspace6<br />

ym<br />

w<br />

To Workspace2<br />

yvz<br />

T o W o rksp a ce<br />

uvz<br />

To Workspace1<br />

To Workspace7<br />

Clock<br />

ey<br />

To Workspace5<br />

t<br />

To Workspace3<br />

7 - 34


w, y<br />

IMC riadenie s UNS<br />

- Riadenie lineárneho systému 2. rádu s prenosovou funkciou<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0 50 100 150<br />

cas [s]<br />

200 250 300<br />

- Riadenie v otvorenom reg. obvode s pomocným<br />

adaptačným mechanizmom od reg. odchýlky<br />

-Potláča poruchu<br />

u<br />

w, y<br />

4<br />

3<br />

2<br />

1<br />

0<br />

3<br />

2.5<br />

2<br />

1.5<br />

120 140 160 180<br />

cas [s]<br />

120 140 160<br />

cas [s]<br />

180<br />

7 - 35


Prediktívne neurónové riadenie chemického<br />

reaktora<br />

Matematický model procesu:<br />

Vstupy procesu:<br />

w1 – prietok produktu 1, w1=0.1<br />

w2 - prietok produktu 2, riadiaci zásah<br />

Cb1 - koncentrácia produktu 1, Cb1=24.9<br />

Cb2 - koncentrácia produktu 2, Cb2=0.1<br />

Výstupy procesu:<br />

h – výška hladiny v reaktore (neriadi sa)<br />

Cb – výstupná koncentrácia produktu,<br />

riadená veličina


Prediktívne neurónové riadenie chemického<br />

reaktora<br />

N 1 – dolná hranica predikčného horizontu,<br />

N 2 – horná hranica predikčného horizontu,<br />

N u – horná hranica riadiaceho horizontu,<br />

ρ – váhový faktor jednotlivých zmien<br />

riadiaceho signálu<br />

srchbac - Backtracking hľadanie.<br />

srchbre - Brent's kombinácia zlatého rezu a<br />

kvadratickej interpolácii<br />

srchcha - Charalambous' kubická interpolácia<br />

srchgol - metóda zlatého rezu.<br />

srchhyb - Hybridné bisection/cubic hľadanie.<br />

7 - 37


Prediktívne neurónové riadenie chemického<br />

reaktora<br />

N 2 – horná hranica<br />

predikčného horizontu<br />

N u – horná hranica<br />

riadiaceho horizontu<br />

Použitá<br />

optimalizačná<br />

rutina pre<br />

hladanie u<br />

Identifikácia<br />

procesu<br />

pomocou NS<br />

Prediktívny<br />

neurónový<br />

regulátor<br />

ρ – váhový faktor zmien<br />

riadiaceho signálu u<br />

α – krok hladania u<br />

Počet iterácií hladania<br />

u za jednu Tvz<br />

7 - 38


Identifikácia procesu pomocou MLP<br />

Štruktúra siete - parametre<br />

Trénovacie data - generovanie<br />

Trénovanie siete


Prediktívne riadenie teploty v reaktore


Demonštračný príklad - Izotermický polymerizačný<br />

reaktor<br />

Radikálová polymerizácia s azo-bis-izobutyronitrilom ako<br />

iniciátorom a toluénom ako rozpúšťadlom.<br />

Pre zjednodušenie riešenia sa predpokladajú základné<br />

požiadavky:<br />

- izotermická reakcia dokonalé miešanie konštantná<br />

teplota<br />

- bez polymér vo vstupnom prúde<br />

- - bez želatínového efektu<br />

- - konštantný objem reaktora<br />

- - zanedbateľný prúd iniciátora<br />

7 - 41


T in C I in F I<br />

Monomer a Solvent<br />

F C m in T in<br />

Riadenie polymerizačného reaktora<br />

NAMW<br />

F C I D 1<br />

C m T D 0<br />

Bloková schéma polymerizačnej jednotky<br />

Prediktívny<br />

NN<br />

regulátor<br />

NAMW<br />

setpoint<br />

7 - 42


7 - 43<br />

Nelineárny dynamický model polymerizačného reaktora:<br />

( )<br />

( ) ( )<br />

( )<br />

V<br />

Fx<br />

T<br />

x<br />

P<br />

x<br />

e<br />

Z<br />

e<br />

Z<br />

M<br />

x<br />

V<br />

Fx<br />

T<br />

x<br />

P<br />

x<br />

e<br />

Z<br />

T<br />

x<br />

P<br />

e<br />

Z<br />

e<br />

Z<br />

x<br />

V<br />

FC<br />

V<br />

Fx<br />

x<br />

e<br />

Z<br />

x<br />

V<br />

FC<br />

V<br />

Fx<br />

T<br />

x<br />

P<br />

x<br />

e<br />

Z<br />

e<br />

Z<br />

x<br />

RT<br />

E<br />

fm<br />

RT<br />

E<br />

P<br />

m<br />

RT<br />

E<br />

fm<br />

RT<br />

E<br />

T<br />

RT<br />

E<br />

T<br />

I<br />

RT<br />

E<br />

I<br />

m<br />

RT<br />

E<br />

fm<br />

RT<br />

E<br />

P<br />

fm<br />

c<br />

T<br />

fm<br />

d<br />

T<br />

d<br />

c<br />

T<br />

c<br />

in<br />

I<br />

in<br />

fm<br />

P<br />

4<br />

2<br />

0<br />

1<br />

.<br />

4<br />

3<br />

2<br />

0<br />

1<br />

2<br />

2<br />

0<br />

.<br />

3<br />

2<br />

2<br />

.<br />

2<br />

1<br />

2<br />

0<br />

1<br />

.<br />

1<br />

,<br />

,<br />

,<br />

5<br />

.<br />

0<br />

,<br />

−<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

+<br />

=<br />

−<br />

+<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

+<br />

=<br />

+<br />

−<br />

−<br />

=<br />

+<br />

−<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

+<br />

−<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎝<br />

⎛ −<br />

( )<br />

5<br />

.<br />

0<br />

2<br />

2<br />

0<br />

*<br />

2<br />

,<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

+<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛ −<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎝<br />

⎛ −<br />

RT<br />

E<br />

T<br />

RT<br />

E<br />

T<br />

RT<br />

E<br />

I<br />

Tc<br />

c<br />

d<br />

T<br />

d<br />

I<br />

e<br />

Z<br />

e<br />

Z<br />

e<br />

Z<br />

x<br />

f<br />

T<br />

x<br />

P


D1/D0<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

4 x 10 4 Riadenie D1/D0<br />

w<br />

NMPC<br />

PID<br />

0<br />

0 1 2 3 4 5<br />

t<br />

6 7 8 9 10<br />

7 - 44


NARMA-L2 riadenie magnetickej levitácie<br />

vstup:<br />

i – prúd cievky<br />

výstup:<br />

y – vzdialenosť magnetu<br />

Matematický model procesu:<br />

7 - 45


NARMA-L2 riadenie magnetickej levitácie<br />

Neurónový model systému:<br />

Riadiaci<br />

zásah:<br />

7 - 46


NARMA-L2 riadenie magnetickej levitácie<br />

NARMA-L2<br />

regulátor<br />

Okno na identifikáciu<br />

NARMA-L2 modelom<br />

7 - 47


NARMA-L2 riadenie magnetickej levitácie<br />

7 - 48


Riadenie s referenčným modelom ramena robota<br />

vstup:<br />

u – moment motora<br />

výstup:<br />

Φ – uhol ramena<br />

Matematický model procesu:<br />

Matematický model referenčného modelu:<br />

7 - 49


Riadenie s referenčným modelom ramena robota<br />

7 - 50


Riadenie s referenčným modelom ramena robota<br />

Riadenie s<br />

referenčným<br />

modelom<br />

Okno na trénovanie<br />

regulátora<br />

7 - 51


Riadenie s referenčným modelom ramena robota<br />

7 - 52

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!