Sei sulla pagina 1di 13

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

TCNICAS INTELIGENTES APLICADAS AL CONTROL E IDENTIFICACIN DE SISTEMAS

DESARROLLO DE ALGORITMOS GENETICOS EN ENTORNO NI LABVIEW

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

INDICE

1. INTRODUCCIN .............................................................................................. 3 2. DESARROLLO DE REDES NEURONALES ........................................................... 4


2.1 2.2 Desarrollo de una XOR ....................................................................................... 4 Control de un motor de continua ......................................................................... 6

3. CONCLUSIONES............................................................................................. 12 4. BIBLIOGRAFA .............................................................................................. 13

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW 1. INTRODUCCIN

El objeto del presente trabajo es el desarrollar redes neuronales artificiales (ANN) en el entorno NI LabVIEW. Por un lado, hay que resear que las Redes Neuronales Artificiales son un mtodo muy potente para el modelado y control de Sistemas. Por otro lado, LabVIEW es un entorno de desarrollo grfico desarrollado por National Instruments originalmente enfocado a aplicaciones de adquisicin de datos y control de instrumentos que se ha expandido ampliamente y que consigue reducir el tiempo de desarrollo de aplicaciones de todo tipo. Actualmente, National Intruments no tiene un toolbox para implementar redes neuronales. S que existen de toolbox comerciales implementadas en LabVIEW, aunque las cuales suponen un gasto adicional al proyecto en el caso de que se quieran utilizar [1].

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW 2. DESARROLLO DE REDES NEURONALES

Se han desarrollado diferentes ejercicios con redes neuronales con el objetivo de probar la capacidad de su implementacin en LabVIEW, las cuales se indican a continuacin: Desarrollo de una XOR Control de un motor de continua

2.1

Desarrollo de una XOR

Este ejercicio se base en la implementacin de una red neuronal para solucionar una XOR [2].

2.1.1

Diseo

A modo recordatorio, se muestra la tabla de verdad de una XOR. A 0 0 1 1 B 0 1 0 1 A XOR B 0 1 1 0

Tabla 1. Tabla de verdad XOR. La implementacin de la XOR se basa en una estructura Perceptron [3]. A la unidad procesadora del Perceptron le llegan las entradas ai por la parte izquierda y cada conexin con la neurona j tiene asignada un peso de valor wji. La unidad procesadora realiza la suma ponderada de las entradas segn la siguiente ecuacin: Sj=ai wji El Perceptron comprueba si la suma de las entradas ponderadas es mayor o menor que un cierto valor umbral (en nuestro caso 0) y genera la salida xj segn la siguiente ecuacin: Si Sj > 0 entonces xj = 1 Si Sj <= 0 entonces xj = 1

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW La salida xj es transmitida a lo largo de la lnea de salida y constituye uno de los componentes del vector de salida de red. La red implementada incluye dos unidades de entrada, dos neuronas en la segunda capa y una neurona en la tercera etapa. Por otra parte, los pesos son fijados manualmente.

Figura 1. Esquema de red Neuronal XOR

2.1.2

Implementacin

En primer lugar, se desarrolla un vi con la neurona Perceptron tal y como se ha explicado en el punto anterior.

Figura 2. Neurona Perceptron implementada en LabVIEW A continuacin se incluye esta neurona en otro vi en el que se implementar la XOR.

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

Figura 3. Red Neuronal XOR implementada en LabVIEW


2.1.3 Resultados

Despus de probar todos los casos de la tabla de verdad, se comprueba que se obtienen los resultados correctos.

2.2

Control de un motor de continua

Este ejercicio se base en la implementacin del control de velocidad de un motor elctrico CC a travs de una red neuronal [4].

2.2.1

Diseo

Para su implementacin se utiliza una red neuronal Backpropagation de dos capas. La funcin de activacin de la capa de entrada es una funcin identidad mientras que en el caso de la capa oculta y de la capa de salida es la funcin sigmoidal.

Figura 4. Arquitectura de la red neuronal

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW Las redes Backpropagation tienen un mtodo de entrenamiento supervisado. El algoritmo de aprendizaje conlleva una fase de propagacin hacia delante y otra fase de propagacin hacia atrs. Feed Forward

En esta fase de propagacin hacia delante las unidades de entrada toman el valor de su correspondiente elemento del patrn de entrada y se calcula el valor de activacin o nivel de salida de la primera capa. A continuacin las dems capas realizarn la fase de propagacin hacia delante que determina el nivel de activacin de las otras capas. La unidad procesadora j obtiene la cantidad Sj segn la siguiente ecuacin: Sj=ai wji y genera la salida o nivel de activacin segn la una funcin umbral genrica, que en este caso es la funcin Sigmoidal.

Salida=f(Sj)= El valor de la salida de la unidad j es enviado a lo largo de todas las conexiones de dicha unidad

Figura 5. Fase de propagacin hacia delante. Back Propagation

Una vez completado la fase de propagacin hacia delante se inicia la fase de correccin o fase de propagacin hacia atrs. Los clculos de las modificaciones de todos los pesos de las conexiones empiezan por la capa de salida y contina hacia atrs a travs de todas las capas de la red hasta la capa de entrada. El desarrollo del clculo del error est explicado de una forma muy intuitiva en [5] y [6]. Dentro del cual, cabe destacar la ventaja que aporta la funcin sigmoidal para el clculo de su derivada, paso necesario para calcular el error.

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

2.2.2

Implemetacin

Red Neuronal

El algoritmo de la red neuronal esta implementado en un bloque subVI tal y como muestra el siguiente bloque de diagramas.

Figura 6. Diagrama de bloques de la red neuronal backpropagation Modelo del Motor CC

En este trabajo, el controlador basado en redes neuronales es usado para mejorar el control de un motor de corriente continua. El objetivo del controlador es conseguir una precisa trayectoria de control cuando son desconocidos la dinmica de la carga y el drive de CC. Este motor de corriente continua est controlado por el mtodo PWM (Pulso y Modulacin) donde la velocidad puede ser controlada modificando el ciclo de trabajo del PWM

Figura 7. Modelo del motor de corriente continua Las ecuaciones que definen el modelo son las siguientes 8

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

El motor de CC que se ha modelado tiene los siguientes parmetros: Ke=3475Nm/A, J=0,068 kgm2, Ra=7,56 ohm y La=0,055 H. A partir de estos valores, la funcin de transferencia del motor CC queda como:

Estructura del controlador ANN para el Motor CC

Se utilizan dos sistemas de redes neuronales para el controlador. Un sistema recibe la velocidad deseada como entrada, mientras que el otro recibe como entrada el error. Ambos envan el ciclo de trabajo PWM como salida. Por ltimo, estos valores se suman y el resultado se convierte en la seal de control para el motor DC.

Figura 8. Arquitectura del controlador de la red neuronal.

2.2.3

Simulacin

El siguiente paso es entrenar a la red neuronal para que se pueda identificar el sistema dinmico. El objetivo es conseguir el mismo comportamiento entre la planta y la red neuronal. De esta forma, se tendr como entrada el ciclo de trabajo y como salida la velocidad del motor real. Durante el entrenamiento es necesario ajustar el bias para reducir el error existente. Para ello, se le fija un valor cercano a cero y se incrementando para conseguir reducir el error. Es decir, se va incrementando el bias a medida que la red neuronal converge pero sigue teniendo un error intolerable. 9

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW

Figura 9. Bloque de diagramas para el entrenamiento. Una vez entrenado la red neuronal, ya se puede utilizar en el sistema.

Figura 10. Bloque de diagramas del sistema

2.2.4

Resultados

Despus del entrenamiento, los mejores resultados se consiguieron con los siguientes parmetros. Peso de entrada 1 = -3,12317 Peso entrada 2 = -7,0356 Peso Bias entrada 1 = -0,211902 Peso Bias entrada 2 = -0,211902 Peso Salida 1 = -3,12317 10

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW Peso Salida 2 = -7,0356 Peso Bias Salida = 11,8467 Bias Entrada = 0 Bias Salida = 0,2

Con estos valores, el controlador implementado con redes neuronales consigue un buenos resultados en cuanto a capacidad de seguimiento de entrada. Salida ANN VS Tiempo

Figura 11. Grfica Salida ANN Tiempo Velocidad del motor & Error VS Tiempo

Figura 12. Grfica Velocidad del motor & Error - Tiempo 11

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW 3. CONCLUSIONES

Tal y como se ha visto, LabVIEW es un sistema que te permite implementar redes neuronales de una forma sencilla e intuitiva. Por otro lado, los resultados de simulacin obtenidos muestran que el uso de redes neuronales es una opcin viable de control. Dentro de la documentacin entregada con este trabajo, se aaden ms archivos que se pueden tomar como base para futuros proyectos, como por ejemplo aadir la capacidad de modificar automticamente el nmero de neuronas por capa.

12

Desarrollo de Algoritmos Genticos en entorno NI LabVIEW 4. BIBLIOGRAFA

[1] P. Ponce-Cruz, F. Ramirez-Figueroa.Intelligent Control Systems with LabVIEW. Mexico D.F., Mexico, Springer-Verlag, 2010. *2+ Williamlweaver, LabVIEW XOR Neural Net, 2008. http://www.youtube.com/watch?v=8vlfsullaEk. Last access March 2012. [3] X. Basogain. Redes Neuronales Artificiales y sus Aplicaciones Bilbao, 2012, [4] Jerome et al, LabVIEW based Intelligent Controllers for Speed Regulation of Electric Motor, Instrumentation and Measurement Technology Conference Ottawa, Canada, Mayo 2005. [5] nqramjets, Neural network tutorial: The back-propagation algorithm (Part 1), 07/01/2012, available at http://www.youtube.com/watch?v=aVId8KMsdUU Available at

13

Potrebbero piacerti anche