Sie sind auf Seite 1von 11

Pgina 1

UNIVERSIDAD DE FUERZAS ARMADAS ESPE


DEPARTAMENTO DE ELCTRICA Y ELECTRNICA
ASIGNATURA: CONTROL INTELIGENTE

Actividad 16. Control con red neuronal inversa (2 puntos a nota de parcial)

Fecha: 09/06/2014
Nombre alumno: Carlos Araujo, Marco Hinojosa
NRC: 2055

Objetivo: Desarrollar un controlador con red neuronal inversa para el sistema de dos tanques y
compararlo con un controlador PID que permitan caracterizar este tipo de controlador.








































=


=
= , ;
= , :
= , :
= , :
= , :

Caracterizando un controlador con red neuronal inversa





Pgina 2

= {




































Pgina 3
Simule un control con red neuronal inversa para el sistema de dos tanques
Lo primero que debemos hacer es entrenar la red neuronal para lo cual hemos utilizado el
siguiente cdigo.
Corriendo el programa anterior alamacenamos las variables mediante la funcin save en nuestro
caso como:
save tanques
















































Pm1(1,:)=Pm(1,:);%H1in
Pm1(2,:)=Tm(1,:);%delta H1
Pm1(3,:)=Pm(3,:);%H2in
Pm1(4,:)=Tm(2,:);%delta H2
Pm1(5,:)=Pm(5,:);%q0

Tm1(1,:)=Pm(2,:);%Target
Tm1(2,:)=Pm(4,:);%Target
% Aproximacion de funciones
P=Pm1
T=Tm1
net = newff(minmax(P),[8 2],{'tansig' 'purelin'});
Y = sim(net,P);
net.trainParam.epochs = 50;
net.trainParam.goal=1e-5
net = train(net,P,T);
Y = sim(net,P);

close all

figure(1)
subplot(211)
plot(Pm(2,:),'k')
subplot(212)
plot(Pm(4,:),'k')

figure(2)
ap1nn= Y(1,:)
ap2nn=Y(2,:)
subplot(211)
plot(ap1nn)
subplot(212)
plot(ap2nn)
hold off

Pgina 4





Obtenemos la siguiente grafica de aprendizaje y la comparamos y obtenemos la red neuronal
entrenada






Pgina 5




Generamos con la funcin gensim el controlador y lo reemplazamos en nuestro diagrama
de simulink





Pgina 6



































Pgina 7

Compare su funcionalidad con respecto a un controlador PID










































Pgina 8
Analice cuatro casos de estudio. Analice el comportamiento de las vlvulas, tiempos de
respuesta y error de estado estable.


















































Caso 1:
Caudal = 30;
H1 deseado =8;
H2 deseado =8;



Caso 1:
Caudal = 20;
H1 deseado =5;
H1 deseado =5;



Pgina 9




















































Caso 3:
Caudal = 20;
H1 deseado =7;
H2 deseado =5;



Caso 4:
Caudal = 20;
H1 deseado=5;
H2 deseado=7;



Pgina 10
Conclusin
Se ve una mejor respuesta al comparar las grficas del control de la red neuronal con el control
PID y podemos decir que depender del diseador seleccionar el mejor mtodo de control ya que
a pesar de que el control mediante el aprendizaje de la red neuronal es mejor este tiene un costo
computacional ms alto que el del PID.


Nosotros Carlos Araujo y Marco Hinojosa afirmamos que esta actividad es de nuestra autora y
establecemos que para la elaboracin de la misma hemos seguido los lineamientos del Cdigo de
tica de la Universidad de las Fuerzas Armadas ESPE















































Pgina 11

Anexos

Cdigo para la generacin de las variables.

q0V=[20,23,26,29];
H1iniV=[5:2:25];%
H2iniV=[5:2:25];
ap1V=[0.5:0.1:1]
ap2V=[0.5:0.1:1]

Pm=combvec(H1iniV,ap1V,H2iniV,ap2V,q0V);
dh1V=[]
dh2V=[]
for i=1:length(Pm)
q0=Pm(5,i);
H1ini=Pm(1,i);
ap1=Pm(2,i);
H2ini=Pm(3,i);
ap2=Pm(4,i);
sim('two_tank_1',[0 1])
dh1=H1-H1ini;
dh2=H2-H2ini;
dh1V=[dh1V dh1];
dh2V=[dh2V dh2];
mensaje=sprintf('patron no %d de %d',i,length(Pm))
end
Tm=[dh1V;dh2V];

P=Pm
T=Tm
net = newff(minmax(P),[8 2],{'tansig' 'purelin'});
Y = sim(net,P);
net.trainParam.epochs = 50;
net.trainParam.goal=1e-5
net = train(net,P,T);
Y = sim(net,P);

close all

figure(1)
subplot(211)
plot(dh1V,'k')
subplot(212)
plot(dh2V,'k')

figure(2)
dh1nn= Y(1,:)
dh2nn=Y(2,:)
subplot(211)
plot(dh1nn)
subplot(212)
plot(dh2nn)
hold off

Das könnte Ihnen auch gefallen