Вы находитесь на странице: 1из 18

UNEXPO

Maestra en Control de Procesos


Asignatura: Laboratorio de Simulacin de Control Avanzado de Procesos (IP-523013)
Lapso: Enero - Abril 2016.
Profesor: Carlos Lameda.
Integrantes: Juan Carlos Leon.
Alberto Torres.

Trabajo 2 Simulacin de Control Neuronal (valor: 20 %)


Objetivos
1. Simular sistemas de control neuronal, utilizando Matlab, Neural Network Toolbox y
Simulink.
2. Analizar los resultados.

Actividades
1. Leer las pginas 5-2 a 5-22, captulo 5, del Neural Network Logic Toobox 8
Users Guide (Control Systems), que incluye NN Predictive Control y NARMAL2.
Los controladores predictivos de pasos mltiples aplicados a sistemas no lineales
presentan grandes dificultades debido a los problemas inherentes asociados al modelaje
del sistema y a la resolucin del problema de programacin no lineal en cada perodo de
muestreo, ya que en la gran mayora de las situaciones reales solo se dispone de
modelos aproximados, y mediante la estrategia del control predictivo se trata de obtener
su inversa realizable (que tambin son aproximadas) para usarlas como controladores
El desarrollo reciente de las redes neuronales como herramienta de modelado, y su
facilidad de aproximar el comportamiento de sistemas sin un conocimiento detallado de
los mismos, ha hecho que comenzara a popularizarse el estudio del control predictivo
usando como modelos redes neuronales entrenadas con datos experimentales. Esta
propiedad las hace muy atractivas para su utilizacin en el control no lineal y ha
motivado la realizacin de una considerable cantidad de trabajos en el mbito
acadmico sobre su aplicacin a problemas tan diversos como control de
servomecanismos, sistemas de reaccin qumica, neutralizacin, etc.
Control de Modelo Predictivo. Es un algoritmo de control que computa una secuencia
temporal discreta de las variables manipuladas a futuro con el objetivo de optimizar el
comportamiento de la planta o proceso a controlar.
Es un campo muy amplio de mtodos de control desarrollados en torno a cierta ideas
como son: Uso explicito de un modelo para predecir la salida del proceso en futuros
instantes de tiempo (horizonte de prediccin), Clculos de las seales de control
minimizando una cierta funcin objetivo y Estrategia deslizante, donde cada instante el
horizonte se va desplazando hacia el futuro.

Las predicciones son utilizadas por un programa de optimizacin numrica para


determinar la seal de control que reduce al mnimo el siguiente criterio de rendimiento
sobre el especificado horizonte:

Donde N1, N2, y Nu definen los horizontes sobre el cual se evaluaron el error de
seguimiento y los incrementos de control. La variable de u 'es la seal de control
provisional, yr es la respuesta deseada, y ym es la respuesta del modelo de red neuronal.
El valor determina la contribucin que la suma de los cuadrados de los incrementos
de control tiene sobre el ndice de rendimiento.

El controlador consiste en el modelo de red neuronal de la planta y el bloque de


optimizacin. El bloque de optimizacin determina los valores de u 'que minimizan J, y
luego el u ptima es de entrada a la planta.
2. Verificar experimentalmente mediante simulacin con Matlab, Neural Network Logic
Toobox y Simulink lo explicado en las pginas ledas (5-2 a 5-22).
A. Abrir Matlab.
B. Luego en el Comand Window de Matlab, escribimos el archivo predcstr. Ah
obtenemos un archivo en Simulink que se muestra:

NN Predictive Controller

Reference

Optim.
Clock

Random Reference

Control
Signal
Plant
Output

Flow Rate

Concentration

NN
Model

Neural Network Predictive Control of a Continuous Stirred Tank Reactor


(Double click on the "?" for more info)

X(2Y)
Graph

Plant
(Continuous Stirred Tank Reactor)

Double click
here for
Simulink Help

To start and stop the simulation, use the "Start/Stop"


selection in the "Simulation" pull-down menu

El modelo de la planta representa en un tanque reactor continuo con agitador (CSTR),


donde h (t) es el nivel de lquido, Cb (t) es la concentracin del producto en la salida del
proceso, w1 (t) es la velocidad de flujo de la alimentacin de concentrado Cb1, y w2 (t) es
la velocidad de flujo de la alimentacin diluida Cb2. Las concentraciones de entrada se
establecen a Cb1 = 24,9 y Cb2 = 0,1. Las constantes asociadas con la tasa de consumo son
k1 = 1 y k2 = 1.
Representa las siguientes ecuaciones:

C. Al dar doble click al bloque de NN Predictive Controller, nos sale una ventana que
se representa asi:

Donde obtenemos los parmetros N2 y Nu horizontes del controlador, parmetro de


ponderacin y control de optimizacin. Bsicamente cuando se vara uno de este
parmetro varia la funcin basada en una trayectoria de salidas deseadas en un horizonte de
prediccin. Para nuestro casi dejamos expresado como se ve en la imagen, N2 = 7, Nu = 2,
= 0.05 y = 0.001.
Al dar click en Plant Identification se desarrolla el modelo de la red neuronal a aplicar al
controlador. El modelo de la planta predice salidas de plantas futuras. El algoritmo de
optimizacin utiliza estas predicciones para determinar las entradas de control que
optimizan el rendimiento futuro. El modelo de la planta red neuronal tiene una capa oculta,
como se muestra anteriormente. Se selecciona el tamao de esa capa, el nmero de entradas
y salidas retrasadas diferidos, y la funcin de formacin en esta ventana.

Luego se le da click a Generate Training Data este genera datos de entrenamiento


mediante la aplicacin de una serie de entradas aleatorias paso a la planta modelo Simulink.
Esta toma muestra del proceso de un total de 8000 y al final da como resultado:

Al cargar datos de entrenamiento, le da click a Accept Data, en la ventana de Plant


Identification se da click Train Network.

Obtenemos:

Input, este representa la entrada a la planta al azar - medidas de alto y el ancho al


azar.
Error, es la diferencia entre la salida de la planta y la salida del modelo red
neuronal.
Plant Output, es la salida del modelo de la planta en Simulink.
NN Output, salida de la red neuronal modelo de planta (un paso por delante de
prediccin)

Y al salir nos vamos a modelo de Simulink y le damos a run para ver la salida del proceso.

X Y Plot
23

22.5

Y Axis

22

21.5

21

20.5

20

20

40

60
X Axis

80

100

Anlisis y Consideraciones:
Se puede observar en la grafica representa la entrada de referencia y la salida el proceso que
se tiene que es la concentracin Cb. Al ver el comportamiento de la entrada al proceso,
vemos que la salida trata de igualarla debido a que se busca a travs del controlador que el
error tiende a cero.
Se modifico los parmetros del control predictivo de la red neuronal, los cuales se explica a
continuacin:

Accin de Error

Accin de Control

Al variar el valor parmetro de bsqueda a 0, obtenemos una grafica muy similar


a la salida del proceso, esto debido a que se elimina la accin del error, es decir se
comporta como en lazo abierto.
Al variar el valor factor de peso del control a 0, para este caso, no grafica debido
al poner el valor dentro de la funcin, existe un algoritmo que donde necesita un
valor que determine su final, si = 0 el valor tiende a infinito.
Otro aspecto que pudimos ver, es que el Horizonte de prediccin debe ser mayor
que el Horizonte de control, debido al algoritmo de optimizacin numrica
representado.

120

3. Leer las pginas 11 a 18 del artculo: "An Introduction to the Use of Neural Networks
in Control Systems [2], de M. Hagan, H. Demuth y O. De Jesus.
NARMA-L2 es una de la arquitectura de red neuronal para control, que es simplemente
un reordenamiento del modelo de la planta. Significa No lineal autorregresivo media
mvil y el modelo se denomina cuando la planta modelo se aproxima por la forma de
compaa. Si la planta modelo se encuentra en compaero de la forma que se conoce
como retroalimentacin tcnica de linealizacin. Proyectos de NARMA-L2 controlador
se realiza en dos etapas: identificacin del sistema, seguido de Diseo de control.
Sistema de identificacin de medios de inferencia de una red neuronal modelo del
proceso a ser controlado desde un conjunto de entrada y salida. Los datos recogidos de
este proceso, es decir, la formacin de una red neuronal para representar la dinmica
hacia delante del sistema. Una estructura del modelo, estndar que se utiliza para
representar en tiempo discreto para los sistemas no lineales es el modelo NARMA.
|Este se representa:

Controlador NARMA-L2
La ventaja de la forma NARMA-L2 es que se puede resolver por la entrada de control
que provoca la salida del sistema para seguir una seal de referencia: y(k+d)= yr(k+d), El
controlador resultante tendra la forma:

Es realizable para d 1. Por otro lado tenemos el diagrama del controlador que es el
siguiente:

Donde representa, esto:

4. Verificar experimentalmente mediante simulacin con Matlab, Neural Network Logic


Toobox y Simulink, lo explicado en el artculo ledo [2].

Donde y (t) es la distancia del imn encima del electroimn, IT) es la corriente que fluye
en el electromagntico, M es la masa del imn, y g es la gravitacin constante. El
parmetro es un coeficiente de friccin viscosa que se determina por el material en el
que se mueve el imn, y es una constante de intensidad de campo que es determinado
por el nmero de vueltas de alambre en el electroimn y la fuerza del imn.
A. Abrir MATLAB
B. Escribir en el Comand Window narmamaglev. Este comando abre el Editor de
Simulink con el siguiente modelo. El bloque NARMA-L2 de control ya est en el
modelo.
C. Obtenemos el modelo LARMA-L2, del ejemplo de levitador magntico.

NARMA-L2 Controller
Reference

Random Reference
f

Control
Signal

N
S
Current

Position

Plant
Output

NARMA-L2 Control of a Magnet Levitation System


(Double click on the "?" for more info)

Clock

X(2Y)
Graph

Plant
(Magnet Levitation)

Double click
here for
Simulink Help

To start and stop the simulation, use the "Start/Stop"


selection in the "Simulation" pull-down menu

D. Al dar doble click al bloque del controlador NARMA-L2, tenemos la siguiente


ventana.

Este representa la identificacin de la planta, donde tenemos las propiedades de la


arquitectura de la neurona, esta dado numero de retardo de la planta entrada y salida,
el tamao de las capas ocultas y el intervalo de muestreo.
E. Volver al Editor de Simulink y comenzar la simulacin seleccionando la opcin de
men Simulacin> Run. A medida que se ejecuta la simulacin, la produccin de la
planta y la referencia la seal se muestran, como en la siguiente figura.
X Y Plot
4

3.5

2.5

Y Axis

1.5

0.5

-0.5

-1

10

15
X Axis

20

25

30

A partir de la figura, se puede ver que la salida del modelo planta hace seguir a la entrada
de referencia con la respuesta correcta amortiguamiento crtico, a pesar de que la secuencia
de entrada no era la misma que la secuencia de entrada en los datos de entrenamiento. La
respuesta de estado estacionario no es perfecto para cada paso, pero esto podra ser
mejorado con un conjunto de entrenamiento ms grande y quizs ms neuronas ocultas.

Anlisis y Consideraciones. Artculo de Jess.


NN Predictive Controller

Reference
Signal
Generator

Optim.

Switch

N
S

Control
Signal Current
Plant
Output

Clock
Position

NN
Model

X(2Y)
Graph

Plant
(Magnet Levitation)

Signal
Generator1
NARMA-L2 Control of a Magnet Levitation System
(Double click on the "?" for more info)
To start and stop the simulation, use the "Start/Stop"
selection in the "Simulation" pull-down menu

Double click
here for
Simulink Help

Para nuestro caso, debido a alta iteraciones de la corriente que fluye por el electroimn
este genera un efecto electromagntico. Para nuestras aplicaciones, se aplicaron entradas
al azar que consisten en una serie de impulsos de amplitud y duracin aleatoria. La
duracin y la amplitud de los pulsos deben ser elegidas cuidadosamente para producir una
identificacin precisa.
Cuando el rendimiento de estado estacionario es pobre, es til para aumentar la duracin
de los pulsos de entrada. Desafortunamente, dentro de un conjunto de datos de
entrenamiento, si tenemos demasiados datos en condiciones de estado estacionario, el
banco de datos pueden no ser representativos de la conducta tpica planta. Esto es debido
al hecho de que las seales de entrada y de salida no cubren adecuadamente la regin que
va a ser controlado. Esto resultar en un rendimiento inferior transitorio. Tenemos que
elegir el banco de datos de manera que producimos transitoria adecuada y el rendimiento
de estado estacionario.
Para nuestro caso en los controladores predictivos cuando usamos diferentes rangos de
los anchos de pulso de la seal de entrada para generar los datos de entrenamiento. Como
podemos observar en el modelo de Simulink, utilizamos dos generadores en la entrada del
controlador donde tiene distintas frecuencia y tomamos un tiempo de muestro que a su
vez a travs del switch hace pasar una frecuencia del generador 1 y a acabar pasa la
frecuencia del generador 2. Para nuestro caso 0.01 < <1 para el generador 1 y 0.01 < <5
para el generador 2. Adems utilizamos numero de capas ocultas 10.

Tomamos un control predictivo de red neuronal, observamos los valores introducidos al


controlador.

Luego de entrenar a la red neuronal, obtenemos la seales indicadas en la figuras de abajo.

X Y Plot
6

Y Axis

-2

-4

-6

10

15
X Axis

20

25

30

Вам также может понравиться