redes neuronales

Upload: juan-carlos-leon-martinez

Post on 07-Mar-2016

219 views

Category:

Documents


1 download

DESCRIPTION

ejercicios de aplicacion de los sistemas de control con redes neuronales

TRANSCRIPT

  • 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 NARMA-L2.

    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:

  • 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:

    Neural Network Predictive Control of a Continuous Stirred Tank Reactor

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

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

    selection in the "Simulation" pull-down menu

    X(2Y)

    Graph

    Random Reference

    Plant

    (Continuous Stirred Tank Reactor)

    Plant

    Output

    Reference

    Control

    Signal

    Optim.

    NN

    Model

    NN Predictive Controller

    Double click

    here for

    Simulink Help

    ?

    Clock

    Flow Rate Concentration

  • 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.

  • 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.

    0 20 40 60 80 100 12020

    20.5

    21

    21.5

    22

    22.5

    23

    X Axis

    Y A

    xis

    X Y Plot

  • 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.

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

    ventana.

    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

    X(2Y)

    Graph

    Random Reference

    N

    S

    Plant

    (Magnet Levitation)

    Plant

    Output

    Reference

    Control

    Signalf g

    NARMA-L2 Controller

    Double click

    here for

    Simulink Help

    ?

    Clock

    Current Position

  • 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.

    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.

    0 5 10 15 20 25 30-1

    -0.5

    0

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    X Axis

    Y A

    xis

    X Y Plot

    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

    X(2Y)

    Graph

    Switch

    Signal

    Generator1

    Signal

    Generator

    N

    S

    Plant

    (Magnet Levitation)

    Plant

    Output

    Reference

    Control

    Signal

    Optim.

    NN

    Model

    NN Predictive Controller

    Double click

    here for

    Simulink Help

    ?

    Clock

    PositionCurrent

  • 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

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

  • 0 5 10 15 20 25 30-6

    -4

    -2

    0

    2

    4

    6

    X Axis

    Y A

    xis

    X Y Plot