Está en la página 1de 37

UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA

VICE-RECTORADO ACADÉMICO

DECANATO DE POSTGRADO

MAESTRÍA EN INGENIERÍA ELECTRÓNICA

DECANATO DE POSTGRADO

CONTROLADOR MEDIANTE REDES NEURONALES PARA UN HORNO Y COMPARACION CON UN


CONTROLADOR PID

AUTORES: ING. CRISTIAN TARAZONA

ING. JUDITH CRISTANCHO

SAN CRISTÓBAL, 2008


INTRODUCCIÓN

“Mientras los filósofos discuten si es posible o no la inteligencia electrónica, los


investigadores la construyen”

C. Frabetti

Las computadoras actuales corren sus programas a grandes velocidades, en el orden


de los Gigahertz, pero todavía hay muchos problemas por los cuales nunca serán lo
suficientemente rápidas, si se compara con otro tipo de plataforma hardware muy
diferente como lo es el cerebro biológico.

La idea de una Red Neuronal Artificial (RNA) surge del comportamiento del cerebro de
un mamífero. Una neurona de un cerebro mamífero puede solamente ejecutar 100
operaciones por segundo, pero un cerebro de un mamífero puede ejecutar miles de
veces más instrucciones que un computador digital (“10.000 trillones de operaciones
por segundo”1), el cual corre a cientos de Megahertz o en unos cuantos Gigahertz. La
razón de esta diferencia en el desempeño, es que el cerebro mamífero es una red
altamente paralela, la cual tiene miles de neuronas funcionando simultáneamente,
mientras un computador digital puede realizar solo una operación en un ciclo de reloj.
Una RNA es un sistema que simula esas cualidades de la red neuronal biológica, la cual
puede correr en un computador digital, pero entonces, el poder que ellas ganan con el
paralelismo, se pierde en el tiempo requerido para ejecutar todas las conexiones
paralelas, en forma serial. Por esta razón, se hace necesaria la implementación en
hardware de las RNAs para aprovechar al máximo el paralelismo que las caracteriza.

“Uno de los grandes retos dentro del contexto de la ciencia y la tecnología, es hacer
que el computador realice tareas que requieren inteligencia, razonamiento, sentido
omún y/o manejo del conocimiento”2. Ésta es una característica muy importante de
una RNA, su habilidad de aprender mediante la experiencia. Cada vez que una red
neuronal es creada, un entrenamiento es necesario para “enseñarle” a dar una salida,

2
como respuesta a una entrada específica. Por ejemplo, si la red neuronal es enseñada
para dar un uno cuando se le presenta un círculo en la entrada, ésta debería dar un
uno, cuando un círculo le sea presentado, de otra manera debería dar un cero u otro
resultado en la salida.

Actualmente las RNAs constituyen un área de estudio y aplicación muy importante


para el control automático de sistemas, el procesamiento de señales, la clasificación de
patrones, la aproximación y predicción de funciones entre otras.

La principal motivación se basa en que las RNAs pueden lograr soluciones más
generales para problemas de identificación y control de sistemas multivariables no
lineales, tienen capacidades de procesamiento distribuido y paralelo, capacidad de
aprendizaje y adaptación, pueden fusionar datos de distinto tipo, y permiten diseños
de máquinas más inteligentes y autónomas3.

Visión general de la planta

3
La planta seleccionada fue un horno convencional, el cual se le ha agregado un extractor
reversible que funciona como extractor durante la etapa de enfriamiento de enfriamiento y
como circulador de calor durante la fase de calentamiento para mantener constante la
temperatura en todas las coordenadas del horno.

Extractor

Sensor de
HORNO
Elemento Temperatura
Calentador

Figura 1. Esquema del horno

Modelamiento matemático.

Figure 2: Equivalente eléctrico del horno industrial.


La figura 2 muestra el Horno industrial y su equivalente eléctrico para obtener la
función de transferencia del mismo.

Aplicando el principio de conservación de la energía al Horno industrial mostrado en la


figura 1, se plantea la siguiente ecuación:

dT
m1c1  u (t )  K 10 (T1  T0 )
dt

Símbolo Cantidad Unidades

M Masa Kilogramos

C Calor especifico joules


Kg ºC

Conductancia térmica Joules Watts



1/R sº C ºC

T Temperatura ºC

Q Velocidad del flujo de calor Watts

De donde se tiene que:

dT u (t )  K 10 (T1  T0 )

dt m1c1

 Implementación de los bloques que representarán la planta, en este caso el horno.


La conductancia térmica es la relación que existe entre la transferencia de calor entre
el interior del horno y el medio en el que se encuentra dependiendo de propiedades
como:

 La suma de áreas de las paredes del horno.


 Conductividad térmica del material con que se construyo el horno.
 Espesor de las paredes.

watts
0.043 * 0.96m 2
1 Ka * Ap mº C watts
K10     2.752
R Lp 0.015m ºC

La conductancia esta representada mediante el subsistema K10 en Simulink, el cual


esta configurado de la siguiente manera:
Figura 3: Subsistemas en simulink de la conductancia térmica

La relación entre la variación de calor Q(t) y la señal de control (u) se describe a continuación,
cuya ecuación representa el modelo matemático del sistema que proporciona la energía al horno
o variación de calor en el horno dando como término general un sistema ejecutor ( fuente de
energía variable):

dQ(t ) K CAL * u  Q(t )



dt J CAL

Donde:

KCAL = Es una constante que depende del valor máximo de potencia del calentador (W).

JCAL = Es una constante que depende de la inercia de calor del proceso. (s).

u = señal de control normalizado (0-1).

 Implementación de los bloques que representarán la fuente de energía a controlar y que


a su vez será el encargado de suministrar el calor necesario al horno.
En la figura 4, se ilustra el sistema de alimentación o fuente de energía del horno implementada
en SIMULINK®, según la ecuación (8) mencionada anteriormente, la fuente de energía que se
controlará, utilizando una señal de control para mantener los rangos de temperatura de la
variable controlada y a su vez permitan el funcionamiento del horno a la temperatura deseada.

Modelo de la fuente de energía.

Figura 4 sistema de alimentación o fuente de energía

 Realizar los ajustes de conversión en las diversas variables del sistema como, la
temperatura a P.U ( Por Unidad (0-1)), en Simulink.

En la figura 5, se ilustran los bloques que conforman el convertidor de temperatura a por


unidad, y el comportamiento de la señal de salida del convertidor, respectivamente.

Figura 5. Modelo del conversor P.U.


De donde se obtiene:

Tref 24
P.U  
124 124

 El segundo paso, consiste en realizar un archivo en ambiente editor de MATLAB® en


el que involucre las condiciones iniciales del sistema, descritos a continuación.

clc

disp ('cargados')

m_aire = 0.0353;

c_cal = 1010;

Ap = 0.96;

Ky = 0.043;

Jcal = 694.44e-6;

Ly = 0.015;

 Utilizar el controlador tradicional P.I.D (Proporcional, Integral y Derivativo), que se


encuentra en las librerías del Simulink.

En la figura 6 se observan los bloques que conforman el controlador.

Figura 49. Modelo del control PID.


Figura 6. Bloques que conforman el controlador.

Figura 7. Lazo cerrado.

Para la sintonización, cabe destacar que debido a que las señales de temperatura fueron llevadas
a una escala de 0 a 1, el bias se ubica en la mitad de esta escala, en este caso 0.5.
Figura 8. Sintonización del controlador.

Para obtener la curva de reacción se realiza un escalón unitario al proceso en lazo abierto, es
decir se elimina la salida del PID, dejándose solamente el bias, en el flujo de entrada con una
variación del 10% ( 0.05 ) y se grafica la respuesta del sistema en la salida del transmisor.

Las condiciones iniciales de los integradores del ejecutor y la planta se deben hacer cero para el
proceso de sintonización.

Se tomo como temperaturas de ambiente externa:

Text = 25 ºC.

Seguidamente se obtiene una curva de reacción y con ello los valores de las constantes que se
involucran en la estrategia de control tradicional PID ( K P , Ki, Kd ).
Figura 9. Curva de reacción a una temperatura Text 25 ºC.

ΔC = 0.5563 – 0.1936 ΔC = 0.3627

28.3% * ΔC = 0.1026 ΔC 28.3% = 0.1936 + 0.1026

ΔC 28.3% = 0.2962

63.2% * ΔC = 0.2292 ΔC 63.2% = 0.1936 + 0.2292

ΔC 63.2% = 0.4228

t0.283 = 6.1035 t1 = 6.1035

t0.632 = 15.692 t2 = 15.692


τ = 1.5 ( t2 – t1 ) τ = 14.3827

t0 = t2 – tτ t0 = 1.30925

K= C K= 0.3627
m 0.05

K = 7.254

Sintonización del PID:

Para la constante proporcional:

1 1
1.2  t o  1.2  1.30925 
KC    , KC    , K C  1.8173
K   7.254  14.3827 

En MATLAB® KC  K P K P  1.8173

Para la constante Derivativa:

to 1.30925
d  , d  ,  d  0.6546
2 2

En MATLAB® K d  K C * d K d  1.1896

Para la constante Integrativa:


 i  2.0 t o  ,  i  2.01.30925 ,  i  2.6185

KC
En MATLAB® Ki  K i  0.6940
i

Al realizar la sintonización de cada uno de los modos de controlador tradicional PID, se


obtienen las constantes para lo cual se seleccionó una carga que proporciona 100 W de máxima
potencia y la variación de la temperatura externa del ambiente del horno, T ext, 25ºC, en las
tablas, se dan a conocer los valores de τ, tiempo muerto ( to ) y los valores de las constantes.

Temperatura Externa 25ºC

t1 6.1035

t2 15.692

14.3827
τ
1.30925
t0

Una vez, conocidos los valores de las constantes del controlador, según la tabla , se introducen
en el bloque PID generado por SIMULINK®, dando inicio a la simulación del sistema.

La figura 10 presenta el comportamiento de la temperatura del horno, cuyo valor debe


mantenerse para un óptimo funcionamiento del sistema en 38ºC, se introdujo una señal de
disturbio de + / -10% sobre la temperatura externa.

Constantes del controlador PID Temperatura externa = 25ºC

Kp 1.8173

Kd 1.1896

Ki 0.6940
Como se puede observar en la figura 10, el controlador esta manteniendo la temperatura en el
valor indicado después de controlar el disturbio generado en la señal de referencia en este
caso la temperatura externa.

Figura 10. Salida del proceso

A continuación se muestra la grafica del sistema con el uso de un controlador PID al


cambiar el set point de la planta.
Figura 11. Salida del proceso con control PID a diferentes set point

Análisis de la estabilidad y respuesta en frecuencia del proceso

Aplicando la transformada de laplace al sistema para determinar la función de


transferencia en lazo abierto y analizar el comportamiento del sistema.

Transformada de Laplace del actuador


Transformada de laplace de la planta (Horno).

Multiplicando las dos funciones de transferencia obtenemos:

Kcal = 100

m_aire = 0.0353;

c_cal = 1010;

Jcal = 694.44e-6;

K10 = 2.752

Siendo la ecuación que modela el sistema y la que se va a analizar.

 Lugar de las Raíces

A continuación se realiza un análisis del lugar de las raíces mediante la herramienta


computacional Matlab para determinar la estabilidad o no del sistema.

Codigo empleado en Matlab.

num=[0 0 100];
dem=[0.0245 0.0264 0.001911];
horno=tf(num,dem)
rlocus(horno)
title('Root Locus de la planta')

La grafica obtenida fue la siguiente:


Figura 12 : Salida del sistema (Routh Locus)

Como se puede observar en la grafica el sistema tiene dos raíces ubicadas en el


semiplano izquierdo lo que hace que el sistema sea estable.

 Análisis mediante Bode

num=[0 0 100];
dem=[0.0245 0.0264 0.001911];
horno=tf(num,dem)
bode(horno)
title('Bode de la planta')
Figura 13. Análisis de la planta mediante Bode.

La magnitud máxima de la magnitud en decibelios es de 94.378 dB y frecuencia de


corte del sistema en radianes por segundo es:

Frecuencia(-3dB) = 12.94 rad/seg.

IMPLEMENTACION DE REDES NEURONALES.

1. SELECCIÓN DEL TIPO DE RED

Las habilidades de las redes neuronales artificiales para dar solución a un problema
específico, están relacionadas con los elementos, estructura y método de
entrenamiento de la red. Las posibilidades en estos parámetros dan lugar a numerosos
tipos de redes neuronales, cada una de las cuales con sus características particulares.
Cuando un problema que se quiere solucionar con redes neuronales está bien
definido, se puede con base en los requerimientos de este, elegir el tipo de red
neuronal que se ajuste mejor a la solución del mismo.

El Data Manager de redes neuronales de Matlab, brinda la posibilidad de seleccionar


entre varios tipos de redes neuronales. Dependiendo de la red seleccionada, se
habilitan unos parámetros característicos de cada una, los cuales le dan las
propiedades a los elementos que la conforman, como la estructura y el método de
entrenamiento empleado. En la mayoría de los casos, en la selección del tipo de red
neuronal también se debe especificar:

 Arquitectura: se seleccionan el número de entradas, el número de capas, el


número de neuronas por capa y la función de transferencia por capa.

 Algoritmo de entrenamiento: se selecciona la función de entrenamiento ya sea


para entrenamiento por lote con Train o entrenamiento incremental o adaptativo
con Adapt, así como parámetros del entrenamiento en redes que cuentan con solo
una función de aprendizaje.

 Función de desempeño: se selecciona la función que medirá el desempeño de la


red.

 Datos de entrada: pueden ser los vectores de entrada a la red para el


entrenamiento, rango de las entradas, salidas esperadas, vectores de retardo de
entrada y salida en redes dinámicas.

Los tipos de redes neuronales disponibles en NNtool son:

 Cascade-forward backprop.
 Competitive.
 Feed-forward backprop.
 Feed-forward distributed time delay.
 Feed-forward time delay.
 Generalized regression.
 Hopfield.
 Layer recurrent.
 Linear layer.
 LVQ.
 NARX.
 NARX Series-Parallel.
 Perceptron.
 Probabilistic.
 Radial basis.
 Self-organizing map.

La red Perceptron y la red Feed-forward backprop, son los dos tipos de redes
neuronales que se tratan en este trabajo. Para mayor información acerca de las demás
redes se recomienda consultar el manual de ayuda del toolbox de redes neuronales de
Matlab.

Implementación del controlador mediante redes neuronales

La data empleada para el entrenamiento de la red fue tomada del análisis del sistema en
lazo abierto.

datain=[35.43 0.47 24.7; 35.43 0.5234 25.67; 35.43 0.667 27.23; 37.19 0.46767
24.5454; 37.19 0.45898 24.89; 37.19 0.5721 27.6; 36.89 0.4856 24.5; 36.89 0.4978
25.5; 36.89 0.5234 27; 38.36 0.43111 25.9; 38.36 0.4555 24.2; 38.36 0.6788 25.8; 38.65
0.432 25; 38.65 0.4567 26; 38.65 0.5243 27; 42.75 0.43876 25.2; 42.75 0.435 25.8;
42.75 0.54 25.19; 42.46 0.4568 24; 42.46 0.4521 26; 42.46 0.5478 27; 42.17 0.356 24.2;
42.17 0.4567 25.2; 42.17 0.4041 26.2; 41.88 0.5467 24.5; 41.88 0.4532 25.5; 41.88
0.321 26.5; 41.58 0.4567 24.1; 41.58 0.4267 25.3;41.58 0.4967 25.7; 41.29 0.3334
24.3;41.29 0.3534 25.3; 41.29 0.3734 26.3; 41 0.3987 25.6; 41 0.4235 26.7; 41 0.6345
27.6; 40.7 0.4234 23.5; 40.7 0.3974 24.5; 40.7 0.4594 25.5; 40.41 0.456 23.9; 40.41
0.436 24.9; 40.41 0.486 25.876; 40.12 0.357 23.768; 40.12 0.367 24.748; 40.12 0.457
26.768; 39.82 0.4569 25; 39.82 0.569 25.2; 39.82 0.4269 25.4;35.43 0.4 24; 35.43 0.5
25; 35.43 0.6 27; 37.19 0.4 24.5; 37.19 0.4598 24.9; 37.19 0.521 25.6; 36.89 0.4356
24.5; 36.89 0.4478 25.5; 36.89 0.5234 27; 38.36 0.3111 23.9; 38.36 0.4555 24.2; 38.36
0.6788 25.8; 38.65 0.32 25; 38.65 0.4567 26; 38.65 0.5243 27; 42.75 0.3876 25.2; 42.75
0.435 25.8; 42.75 0.64 25.9; 42.46 0.3568 24; 42.46 0.4521 26; 42.46 0.5478 27; 42.17
0.356 24.2; 42.17 0.4567 25.2; 42.17 0.4041 26.2; 41.88 0.56467 24.65; 41.88 0.46532
25.65; 41.88 0.3621 26.65; 41.58 0.47567 24.71; 41.58 0.47267 25.73;41.58 0.44967
25.47; 41.29 0.43334 24.43;41.29 0.35534 25.53; 41.29 0.35734 26.3; 41 0.35987 25.6;
41 0.4635 24.7; 41 0.6345 27.6; 40.7 0.48234 23.95; 40.7 0.37974 24.65; 40.7 0.42594
25.85; 40.41 0.4568 23.89; 40.41 0.4536 24.19; 40.41 0.4286 25.9876; 40.12 0.3857
23.9768; 40.12 0.3767 27.748; 40.12 0.457 27.768; 39.82 0.4469 25.5; 39.82 0.469
25.3; 39.82 0.4369 25.5]

dataout=[0.3145;0.3145;0.3145;0.3629;0.3629;0.3629;0.3548;0.3548;0.3548;0.3952;0.3
952;0.3952;0.4032;0.4032;0.4032;0.5161;0.5161;0.5161;0.5081;0.5081;0.5081;0.5;0.5;
0.5;0.4919;0.4919;0.4919;0.4839;0.4839;0.4839;0.4758;0.4758;0.4758;0.4677;0.4677;0
.4677;0.4597;0.4597;0.4597;0.4516;0.4516;0.4516;0.4435;0.4435;0.4435;0.4355;0.435
5;0.4355;0.3145;0.3145;0.3145;0.3629;0.3629;0.3629;0.3548;0.3548;0.3548;0.3952;0.3
952;0.3952;0.4032;0.4032;0.4032;0.5161;0.5161;0.5161;0.5081;0.5081;0.5081;0.5;0.5;
0.5;0.4919;0.4919;0.4919;0.4839;0.4839;0.4839;0.4758;0.4758;0.4758;0.4677;0.4677;0
.4677;0.4597;0.4597;0.4597;0.4516;0.4516;0.4516;0.4435;0.4435;0.4435;0.4355;0.435
5;0.4355]

Antes de cargar los datos desde el nntool se debe determinar la transpuesta de cada una
de las matrices para que se ajuste al formato de los datos de entrada de esa herramienta.

Posteriormente se carga la herramienta nntool en Matlab y se configura los parámetros


de la red.

 Error Medio Cuadrático (mse)

Esta es la típica función de desempeño utilizada para el entrenamiento de las redes


neuronales feedforward, la cual es el valor medio de la suma de los cuadrados de los
errores de la red. Dados los siguientes pares de entrada-salida para el entrenamiento
de la red, se puede expresar la función mse como se muestra en la ecuación.

 p1 , t1  ,  p2 , t 2  ,...,  p N , t N 

1 N 1 N
F  mse    e i  2
   t i  ai  2
N i 1 N i 1

Donde N es el enésimo patrón de entrenamiento, pN es un vector de entrada, tN es un


vector de salida esperada o target y a es el correspondiente vector de salida actual de
la red. Cuando la entrada p se le presenta a la red, se produce una salida a que es
comparada con la salida esperada t para producir un error e. El error e es calculado
como la diferencia entre la salida esperada t y la salida real a de la red.

Algoritmo Backpropagation
Este algoritmo se denomina Backpropagation o de propagación inversa debido a que el
error se propaga de manera inversa al funcionamiento normal de la red; de esta forma,
el algoritmo encuentra el error en el proceso de aprendizaje desde las capas más
internas hasta llegar a la entrada; con base en el cálculo de este error se actualizan los
pesos y ganancias de cada capa. Hay un número de variaciones del algoritmo básico
que están basados en otras técnicas de optimización como el gradiente conjugado y
métodos de Newton. En el NNtool de Matlab, se trabaja con varios de esos algoritmos.

Básicamente el algoritmo backpropagation consiste en dos pasadas a través de las


diferentes capas de la red. Una pasada hacia adelante y una pasada hacia atrás. En la
pasada hacia adelante, se aplica en la capa de entrada un patrón o vector de entrada,
este propaga su efecto a través de las diferentes capas y como consecuencia produce
un vector de salida. Durante este proceso, los pesos de la red son fijos y no se
modifican. Durante la pasada hacia atrás, los pesos si se modifican de acuerdo con la
función de desempeño. El vector de salida real se compara con el vector de salida
deseado y como resultado se obtiene una señal de error, que se propaga en dirección
contraria a través de la red modificando los pesos y las ganancias, de forma que al
volver a pasar un vector de entrada hacia adelante, la respuesta obtenida se asemeje
cada vez más a la salida deseada. Al nuevo valor de los pesos y las ganancias en una
iteración se le adiciona entonces un valor de cambio proporcional al error, quedando
de la siguiente manera:

X K 1  X K  X K

Donde k representa la iteración actual del proceso de actualización, X K es un vector


de los pesos y ganancias actuales y X K es el cambio de los pesos y las ganancias.

La implementación mas simple de la función de aprendizaje de propagación inversa


actualiza los pesos y las ganancias de la red en la dirección en la cual la función de
desempeño decrementa mas rápidamente, el negativo del gradiente. El error que
genera una red neuronal en función de sus pesos, genera un espacio de n dimensiones
(donde n es el número de pesos de conexión de la red). Al evaluar el gradiente del
error en un punto de esta superficie, se obtiene la dirección en la cual la función del
error tendrá un mayor crecimiento. Como el objetivo del proceso de aprendizaje es
minimizar este error, debe tomarse entonces la dirección negativa del gradiente para
obtener el mayor decremento del error y de esta forma su minimización. De esta
manera, una iteración de este algoritmo puede ser escrita como sigue:
X K 1  X K   K g K

Donde g K es el gradiente actual y  K es la tasa de aprendizaje. El gradiente negativo


se calcula como la derivada del error respecto a todos los pesos de la red. Rosenblatt
[1] da una explicación matemática de este algoritmo y sus implicaciones.

En las técnicas de gradiente descendiente es conveniente avanzar por la superficie de


error con incrementos pequeños en los pesos; esto se debe a que solo se tiene una
información local de la superficie y no se sabe lo lejos o lo cerca que se está del punto
mínimo global. Con incrementos grandes, se corre el riesgo de pasar por encima este
punto; con incrementos pequeños, aunque se tarde más tiempo en llegar, se evita que
esto ocurra. Estos incrementos son dados por el valor de la tasa de aprendizaje  . En
la figura 7 se muestra la superficie típica de un error.

Figura 13. Superficie típica de error.

 Algoritmo Levenberg-Marquardt (trainlm)

Al igual que los metodos Quasi-Newton, este algoritmo fue diseñado como un método
de entrenamiento de segundo orden donde no es necesario calcular la matriz de
Hessian. Cuando la función de desempeño tiene la forma de una suma de cuadrados,
la matriz de Hessian puede ser aproximada como se muestra en las siguientes
ecuaciones y el gradiente puede ser calculado con la ecuación

H  JT J
g  JTe

Donde J es la matriz jacobiana que contiene primeras derivadas de los errores de la red
con respecto a los pesos y las ganancias y e es un vector de errores de la red. La matriz
jacobiana puede ser calculada por medio de una técnica de backpropagation descrita
por Hagan y Menhaj , que es mucho menos compleja que el cálculo de la matriz de
Hessian. El algoritmo Levenberg-Marquardt utiliza esta aproximación de la matrix de
Hessian en la siguiente actualización:

1
X K 1  X K   J T J   I  J T e

Donde  es un escalar que determina la tendencia del algoritmo, cuando vale cero,
esta ecuación se convierte en el método de Newton utilizando la aproximación de la
matriz de Hessian. Cuando  se hace grande, la actualización se convierte en el
gradiente descendente con tamaños de paso pequeños. El método de Newton es más
rápido y mas preciso cerca de un mínimo del error, así que el objetivo es desplazarse
tan rápido como sea posible hacia el método de Newton disminuyendo  después de
cada paso exitoso (reducción de la función de desempeño) y es incrementado solo
cuando un paso tentativo (provisional), pudiera incrementar la función de desempeño.
La aplicación de este algoritmo en el entrenamiento de redes neuronales esta descrito
por Hagan y Menhaj y por Hagan, Demuth y Beale.

Este algoritmo obtiene la convergencia más rápida en problemas de aproximación de


funciones, especialmente para redes que contienen de cien a unos cuantos cientos de
pesos. En muchos casos trainlm es capaz de obtener el más pequeño mínimo error
cuadrático que cualquiera de los otros algoritmos, pero cuando el número de pesos de
la red incrementa esta ventaja decrementa; en contraste el desempeño de este
algoritmo en reconocimiento de patrones es relativamente pobre.

A continuación se muestra la configuración de la red implmentada.


Después de realizar los pasos enunciados en el tutorial, se obtiene el siguiente esquema
de la red neuronal creada.
Pesos y bias de las capas.
Posteriormente se entrena la red.

En la grafica podemos observar que el error tiende a cero en el proceso de


entrenamiento de la red.
Después del proceso de entrenamiento la data obtenida para los pesos fue la mostrada en
las siguientes graficas:
Posteriormente se exporta la red neuronal a la data de Matlab, para posteriormente
mediante la función gensim(network,1), crear un subsistema en Simulink para analizar
el controlador diseñado.
Primera vista del subsistema de la red neuronal.

Esquema de la capa 1
Ya implementado en simulink el proceso con el controlador se procede a verificar su
funcionamiento mediante la selección de un set point especifico, para el caso fue de 38
grados, siendo los grados en los cuales se quería mantener la planta.

El resultado se muestra en la siguiente grafica.


Como se puede observar el error es de aproximadamente 0.023 grados y las variaciones
en la señal de salida fueron muy pequeñas obteniendo muy buenos resultados.

La otra prueba que se le hizo al sistema fue someterlo a diferentes niveles de set point y
los resultados se muestran a continuación.
Como se puede observar en la grafica no hubieron oscilaciones en la señal de salida y el
porcentaje de error en las medidas fue menor del 0.03%.
CONCLUSIONES

 Un entrenamiento debe hacerse, con un número representativo de


patrones, para que la generalización sobre las diferentes combinaciones
de entrada que no se entrenaron, sea significativa.

 La facilidad en la creación y el entrenamiento de las redes neuronales


con el NNTOOL de Matlab, permite al usuario descartar y elegir la red
que mejor se ajuste a su problema en poco tiempo, evitando
complicadas operaciones matemáticas, como cuando se quiere
determinar, si las entradas son linealmente separables, en un problema
de clasificación de patrones con una entrada de más de 3 dimensiones,
para emplear una red Perceptrón.

 El tiempo de respuesta de la planta y el ajuste a diferentes set point


mediante el controlador neuronal ofreció mejores resultados en cuanto a
oscilaciones del sistema, sobre picos.

 El realizar el análisis de la respuesta en frecuencia del sistema, de la


estabilidad del mismo y del comportamiento en lazo abierto ofrece la
data para ser entrenada la red ya que por medio de ello se conoce el
funcionamiento del proceso.

También podría gustarte