Disear adecuadamente un experimento que permita generar los datos para
identificar una planta con Redes Neuronales Artificiales.
Definir la arquitectura de una Red Neuronal que permita realizar la identificacin de una planta.
Entrenar una Red Neuronal para que identifique una planta.
Validar el modelo que se tiene con una red Neuronal luego de entrenarla con los datos provenientes de la planta
PROCEDIMIENTO
1. Grafique las siguientes funciones de dos variables y encuentre sus valores mximo y mnimo mediante el uso de matlab. Seleccione a partir de la grafica un rango adecuado de valores en los que le interese identificar el mximo y el mnimo. a. X^2+y^2=1 b. 2sen4x+cos2y c. 2X^2Y^2+3X-2Y+8=0 2. Que es un algoritmo genrico y qu relacin tendra esta tcnica con el numeral anterior. 3. Haga un programa en matlab donde mediante programacin genrica un robot pueda moverse siguiendo las paredes de una habitacin.
DESCRIPCIN DEL PROBLEMA
Con base al esquema de Simulink de la figura 1 se ha de obtener una serie de datos para obtener los vectores de entrada, salida y tiempo del sistema para realizar la identificacin de este por medio de una red neuronal.
CONTROL INTELIGENTE Laboratorio N5
Profesor: Juan Pablo Rivera.
Transfer Fcn s +4s+10 2 10 To Workspace2 Tiempo To Workspace1 Salida To Workspace Entrada Scope Constant 0.6 Clock Band -Limited White Noise
PROCEDIMIENTO
Se ha de utilizar el modelo para una funcin de transferencia de segundo orden y compararla con la funcin de transferencia del sistema para obtener los parmetros necesarios con el fin de determinar el periodo de muestreo:
De aqu se obtiene que: K = 1 Wn = Wn = 3.1623 rad/seg = 4 0.6325 seg Sample time = 0.1* 0.5 * 0.1 = 0.05 seg 0 5 10 15 20 25 30 35 40 45 50 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Respuesta Del Sistema Ante Entrada De Ruido Blanco E s c a l o n
a p l i c a d o
y
R e s p u e s t a
d e l
S i s t e m a Tiempo
Ruido Blanco Respuesta de la planta Sample time for Band-Limited white noise (ts) = Con estos parmetros obtenidos se parametrizan los bloques del Simulink; el primer tiempo de muestreo de 0.05 es utilizado en todos los bloques del diagrama salvo en el generador de ruido blanco, el cual se le ingresa un parmetro de cambio de 2.5 segundos, esto con el fin de que ingrese un escaln diferente en este intervalo de tiempo permitiendo a la planta alcanzar este escaln generado. Una vez hecho esto se obtiene la siguiente respuesta en la planta.
Una vez realizada esta simulacin han de quedar guardadas en el MATLAB las variables de tiempo, Entrada y salida del sistema para realizar la identificacin del mismo, la cual ser realizada con la ayuda de un modelo ARX, el cual trabaja con los estados pasados de la salida y entrada del sistema con el fin de realizar una adecuada identificacin y prediccin del siguiente estado.
La ecuacin de este modelo es:
Y(k)=F(U(k-1),U(k-2),y(k-1),y(k-2))
Donde las Y son las salidas del sistema y U las entradas de este.
Con base a esto los parmetros para entrenar la red han de quedar de la siguiente manera.
Entrada retardada un tiempo Entrada retarda dos tiempos Salida con un retardo Salida retardada dos tiempos Salida Actual del sistema U(k-1) U(k-2) Y(k-1) Y(k-2) Y(k)
Sabiendo esto se ha de programar adecuadamente la red neuronal para que trabaje con estos parmetros.
El siguiente es el cdigo en MATLAB para realizar dicha tarea el cual adems tendr como capa oculta diez neuronas y una sola capa de salida que ser la salida actual del sistema: y=length(Salida) e1=Entrada(2:1:(y-1))%Este ser el U(k-1) e2=Entrada(1:1:(y-2))%Este ser el U(k-2) s1=Salida(2:1:(y-1))%Este ser el Y(k-1) s2=Salida(1:1:(y-2))%Este ser el Y(k-2) s3=Salida(3:1:(y))%Salida Y(k) INs=[e1 e2 s1 s2];%Entradas a la caja negra ENTRADAS=INs'%Vector de entradas transpuesto %esto con el fin de realizar la operacin matricial red=newff(minmax(ENTRADAS),[10,1],{'tansig','purelin'},'trainlm') %seleccin de los parmetros de entrenamiento incluyendo el tipo de entrenamiento que puede ser trainlm, traingd, traingdm, traingda, traingdx red.trainparam.show=20%MOstrar grafica de entrenamiento cada 20 epochs red.trainparam.epochs=100%Realizar 100 epochs red.trainparam.goal=0.0000001%Valor de parada, el entrenamiento se detiene si %el error presente es menor a este valor red=train(red,ENTRADAS,s3')%Entrenar con los valores definidos gensim(red,0.05)%el 0.05 es el tiempo de muestreo
Una vez entrenada la red, el MATLAB muestra en un grafico el entrenamiento de la red adems de entregar un bloque que guarda los parmetros de esta red entrenada, basados en los parmetros y tipo de entrenamiento seleccionado.
Los grficos de entrenamiento con los diferentes tipos de entrenamientos son los siguientes, los cuales indican la cantidad de epochs utilizados y el error obtenido con este tipo de entrenamiento. Recordemos que se por software hemos impuesto como limite un mximo de 100 epochs y que el entrenamiento se detenga si se presenta un error inferior a 0.0000001. Ss
Tipo de Entrenamiento
Tiempo utlizado trainlm 1.822503 seg. traingd 2.425252 seg. y{1} Unit Delay 3 z 1 Unit Delay 2 z 1 Unit Delay 1 z 1 Unit Delay z 1 Transfer Fcn s +4s+10 2 10 To Workspace2 Tiempo To Workspace1 Salida To Workspace Entrada Step Scope Neural Network x{1} y {1} Clock 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Respuesta Del Sistema Ante Escaln Unitario E s c a l o n
A p l i c a d o ,
R e s p u e s t a
d e l
S i s t e m a
R e a l ,
R e s p u e s t a
D e
L a
R e d
N e u r o n a l Tiempo
Escaln Unitario Respuesta Sistema Real Respuesta De La Red trainlgdm 2.793966 seg. trainlgda 2.284557 seg. trainlgdx 2.456878 seg Una vez entrenada la red neuronal con los diferentes tipos de entrenamiento se observa que el entrenamiento con mejor respuesta es aquel en el que se usa el parmetro trainlm, por tanto el bloque obtenido en este entrenamiento se ha de usar en un diagrama de Simulink que permita ver la comparacin entre la seal de entrada, la respuesta del planta real y la planta obtenida por la red neuronal en el proceso de identificacin; Este diagrama es mostrado a continuacin:
La grafica obtenida es la siguiente:
CONCLUSIONES
Una red neuronal bien entrenada puede simular el comportamiento de una planta, por lo que nos servira para la parte industrial para identificacin y posterior control de las mismas.
El entrenamiento tranlm es el ms eficaz de todos los entrenamientos para este tipo de red neuronal, ya que es este quien realiza su labor en el menor tiempo y logra el objetivo de obtener un error inferior a 0.000001
Para una adecuada identificacin de un proceso por medio de una red neuronal se debe utilizar un modelo de identificacin ARX, para as trabajar con base a los estados anteriores de la entrada y salida.
Para validar los modelos realizados con la ayuda de redes neuronales se debe tener sumo cuidado a la hora de estructurar el diagrama de Simulink, ya que el ingreso inadecuado de las variables genera una validacin errnea del modelo.
Hasta ahora solo era conocida en el MATLAB el TOOLBOX de identificacin para realizar la identificacin de un sistema, ahora con la ayuda de las redes neuronales podemos ver que este software posee diversos mtodos para realizar una adecuada identificacin a un sistema.