15
Revista Colombiana de ISSN: 1692-7257 NEURONAL CONTROL OF A BALANCE SYSTEM (INVERTED PENDULUM) IN A FIELD PROGRAMMABLE GATE CONTROL NEURONAL DE UN SISTEMA DE EQUILIBRIO (PÉNDULO INVERTIDO) EN DISPOSITIVOS LOGICOS PROGRAMABLES CI. Felix Mauricio Escalante Ortega 1 , MSc. Johnny Omar Medina Durán 2 , MSc. Marlon Mauricio Hernández Cely 3 1,2 Universidad Francisco de Paula Santander Grupo de Investigación en automatización y Control (GIAC) Avenida Gran Colombia No. 12E-96B Colsag. Cúcuta- Colombia. E-mail: {felixmauricioeor, johnnyomarmd}@ufps.edu.co 3 Escola de Engenharia de São Carlos (EESC) Núcleo de Engenharia Térmica e Fluidos (NETeF) Universidade de São Paulo (USP) Av. Trabalhador São-Carlense, 400, 13566-970, São Carlos – SP, Brasil. [email protected] Abstract: This paper presents the implementation of a neural network for controlling FeedFoward balance on two wheels system (inverted pendulum) in a Card Nexys 2 Digilent development containing a FPGA (Field Programmable Gate Array) XC3S500E. NNTool tool of Matlab was used for the creation, training and simulation of neural network. The neural algorithm is translated into a workable model in hardware, using block diagrams, using tools Simulink and Xilinx System Generator (XSG). The neural network validation is performed on a prototype of balance on two wheels, this system has an inertial measurement unit (IMU 6DOF-MPU 6050), which includes an accelerometer and three-axis gyroscope each and 2 geared motors with magnetic encoder , used as actuators. Keywords: RNA, inverted pendulum, Xilinx System Generator, NNTool, MPU - 6050. Universidad de Pamplona 1

Papper Redes Neuronales 1

Embed Size (px)

DESCRIPTION

pendulo oinvertido

Citation preview

NEURONAL CONTROL OF A BALANCE SYSTEM (INVERTED PENDULUM) IN A FIELD PROGRAMMABLE GATE

CONTROL NEURONAL DE UN SISTEMA DE EQUILIBRIO (PNDULO INVERTIDO) EN DISPOSITIVOS LOGICOS PROGRAMABLES

CI. Felix Mauricio Escalante Ortega1, MSc. Johnny Omar Medina Durn2,MSc. Marlon Mauricio Hernndez Cely3

1,2Universidad Francisco de Paula SantanderGrupo de Investigacin en automatizacin y Control (GIAC)Avenida Gran Colombia No. 12E-96B Colsag. Ccuta- Colombia.E-mail: {felixmauricioeor, johnnyomarmd}@ufps.edu.co

3Escola de Engenharia de So Carlos (EESC)Ncleo de Engenharia Trmica e Fluidos (NETeF)Universidade de So Paulo (USP)Av. Trabalhador So-Carlense, 400, 13566-970, So Carlos SP, [email protected]

Abstract: This paper presents the implementation of a neural network for controlling FeedFoward balance on two wheels system (inverted pendulum) in a Card Nexys 2 Digilent development containing a FPGA (Field Programmable Gate Array) XC3S500E. NNTool tool of Matlab was used for the creation, training and simulation of neural network. The neural algorithm is translated into a workable model in hardware, using block diagrams, using tools Simulink and Xilinx System Generator (XSG). The neural network validation is performed on a prototype of balance on two wheels, this system has an inertial measurement unit (IMU 6DOF-MPU 6050), which includes an accelerometer and three-axis gyroscope each and 2 geared motors with magnetic encoder , used as actuators.

Keywords: RNA, inverted pendulum, Xilinx System Generator, NNTool, MPU - 6050.

Resumen: Este trabajo presenta la implementacin de una Red Neuronal FeedFoward para el control de equilibrio de un sistema sobre dos ruedas (pndulo invertido), en una tarjeta de desarrollo Nexys 2 de Digilent que contiene una FPGA (Field Programmable Gate Array) XC3S500E. La herramienta NNTool de Matlab fue la utilizada para la creacin, entrenamiento y simulacin de la red neuronal. El algoritmo neuronal es traducido a un modelo realizable en hardware, mediante diagramas de bloques, por medio de las herramientas Simulink y Xilinx System Generator (XSG). La validacin de la red neuronal se realiza en un prototipo de equilibrio sobre dos ruedas, este sistema tiene una unidad de medida inercial (IMU 6dof- MPU 6050), que incluye un acelermetro y giroscopio de tres ejes cada uno y 2 motorreductores con encoder magntico, utilizados como actuadores.

Palabras claves: RNA, Pndulo invertido, Xilinx System Generator, NNTool, MPU - 6050.

ISSN: 1692-7257 Revista Colombiana de Tecnologas de Avanzada

7

Universidad de Pamplona1. INTRODUCION

En la actualidad existe aun dificultad para definir los sistemas de control inteligentes debido a las diversas connotaciones que pueden surgir de la palabra inteligencia, (Santos, 2011) plantea: Es de comn consenso que para que un sistema acte como un sistema inteligente debe emular las funciones de las criaturas vivas en cuanto a algunas de sus facultades mentales. Al menos, la inteligencia requiere la habilidad de percibir (agente) y adaptarse al entorno (aprendizaje), tomar decisiones y realizar acciones de control .Las redes neuronales artificiales (RNA) son sistemas compuestos por varios elementos de procesamiento (neuronas), la funcin principal es determinar la estructura de la red y conexiones entre nodos. La particularidad de las RNA es que tienen la ventaja del aprendizaje mediante entrenamiento.

Las RNA estn inspiradas en modelos biolgicos, as mismo puede ser interpretado como un modelo matemtico compuesto por un gran nmero de elementos procesales organizados en niveles (capas). En cada nivel existen interconexiones asociados a un peso (pesos sinpticos), que representa la informacin utilizada por las neuronas para resolver un problema especfico.

Fig.1. Elementos de una red neuronal artificial

Los elementos bsicos de una red neuronal artificial son las neuronas de entrada (capa de entrada), las neuronas de salida (capa de salida), las neuronas intermedias (capas ocultas) y el conjunto de conexiones o pesos sinpticos entre las neuronas.

Las redes Feedfoward tienen conexiones solo hacia adelante y unidireccionales, suelen distinguirse debido a que los nodos son los elementos bsicos de procesamiento, la arquitectura de la red esta descrita por las conexiones ponderadas entre los nodos, estas pueden ser monocapa o multicapa segn sea la necesidad del diseador.

Las redes monocapa Solo tienen una capa de neuronas, corresponde a la red neuronal ms sencilla ya que se tiene una capa de neuronas que proyectan las entradas a una capa de neuronas de salida donde se realizan los diferentes clculos, mientras que en las redes multicapa existe una generalizacin de las redes monocapa, existiendo un conjunto de capas intermedias entre la entrada y salida (capas ocultas). Este tipo de red puede estar total o parcialmente conectada.

2. ANTECEDENTES

2.1 Red neuronal artificial

Alan Turing, en 1936. Fue el primero en estudiar el cerebro como una forma de ver el mundo de la computacin. Sin embargo, los primeros tericos que concibieron los fundamentos de la computacin neuronal, fueron WARREN McCulloch, un neurofisilogo y Walter Pitts, un matemtico, quienes en 1943, lanzaron una teora acerca de la forma de trabajar de las neuronas. Ellos modelaron una red neuronal simple mediante circuitos elctricos.

En 1949 Donald Hebb. Fue el primero en explicar los procesos del aprendizaje (que es el elemento bsico de la inteligencia humana) desde un punto de vista psicolgico, desarrollando una regla de como el aprendizaje ocurra. Aun hoy, este es el fundamento de la mayora de las funciones de aprendizaje que pueden hallarse en una red neuronal. Su idea fue que el aprendizaje ocurra cuando ciertos cambios en una neurona eran activados. Tambin intent encontrar semejanzas entre el aprendizaje y la actividad nerviosa. Los trabajos de Hebb formaron las bases de la Teora de las Redes Neuronales.

En la dcada del 50, muchos investigadores participaron en la bsqueda de nuevas teoras acercas de las redes neuronales, Karl Lashley. En sus series de ensayos, encontr que la informacin no era almacenada en forma centralizada en el cerebro sino que era distribuida encima de l. Mientras que en 1956, en el Congreso de Dartmouth se da el nacimiento de la inteligencia artificial (IA).

En 1960 Bernard Widroff y Marcian Hoff. Desarrollaron el modelo Adaline (ADAptative LINear Elements). Esta fue la primera red neuronal aplicada a un problema real (filtros adaptativos para eliminar ecos en las lneas telefnicas) que se ha utilizado comercialmente durante varias dcadas.

En 1977, Stephen Grossbergy su teora de Resonancia Adaptada (TRA). La Teora de resonancia adaptada es una arquitectura de red que se diferencia de todas las dems previamente inventadas. La misma simula otras habilidades del cerebro: memoria a largo y corto plazo.

En 1985, John Hopfield. Provoc el renacimiento de las redes neuronales con su libro: Computacin neuronal de decisiones en problemas de optimizacin.. Por otra parte en 1986, David Rumelhart y G. Hinton. Redescubrieron el algoritmo de aprendizaje de propagacin hacia atrs (backpropagation). A partir de este ao, el panorama fue alentador con respecto a las investigaciones y el desarrollo de las redes neuronales. En la actualidad, son numerosos los trabajos que se realizan y publican cada ao, las aplicaciones nuevas que surgen (sobre todo en el rea de control) y las empresas que lanzan al mercado productos nuevos, tanto hardware como software (sobre todo para simulacin).

2.2 Dispositivos Lgicos programables

Los Programmable Logic Device (PLDs) son circuitos integrados en los que se pueden programar ecuaciones lgicas Booleanas, tanto combinacionales como secunciales. Estn formados por una matriz de puertas AND conectada a otra matriz de puertas OR ms biestables. Cualquier circuito lgico se puede implementar, por tanto, como suma de productos.

Las FPGA, introducidas por Xilinx en 1985, Tambin se denominan arreglos de celdas lgicas (LCA). Consisten en una matriz bidimensional de bloques configurables que se pueden conectar mediante recursos generales de interconexin. Estos recursos incluyen segmentos de pista de diferentes longitudes, ms unos conmutadores programables para enlazar bloques a pistas o pistas entre s. En realidad, lo que se programa en una FPGA son los conmutadores que sirven para realizar las conexiones entre los diferentes bloques, ms la configuracin de los bloques. Adems tienen la ventaja de ser reprogramable lo que aumenta una enorme flexibilidad al flujo de diseo, los circuitos se ejecutan ms rpido que en otros dispositivos ya que su ejecucin es en paralelo, por lo que los circuitos no necesitan competir por los mismos recursos. Cada tarea de procesos se asigna a una seccin dedicada del dispositivo y puede ejecutarse de manera autnoma sin ser afectada por otros bloques de lgica. Como resultado, el rendimiento de una parte de la aplicacin no se ve afectado cuando se agregan otros procesos.

3. PNDULO INVERTIDO

El pndulo invertido es un sistema mecnico clsico para probar nuevas ideas en la disciplina del control, es uno de los ejemplos ms conocidos de sistemas a estabilizar, por ende ha sido motivo de estudio por la comunidad cientfica. Si bien existen variantes en la aplicacin, en esta investigacin es basada en la estabilizacin del pndulo sobre vehculo de dos ruedas independientes, es tambin llamado vehculo auto balanceado, ya que es un mvil que integra una red inteligente de sensores, ensamblajes mecnicos y sistema de control que permite desplazarse manteniendo su estabilidad, teniendo como punto de apoyo dos llantas.

3.1 Modelo Matemtico

Es una de las herramientas ms interesantes que actualmente se dispone para analizar y representar un proceso, adems es de gran ayuda a la toma de decisiones. Por esta razn, sus resultados son inteligibles y tiles.

Para iniciar el modelamiento matemtico se debe partir del modelado fsico del sistema, tambin se deben conocer los sensores, los actuadores y sus caractersticas. Los parmetros fsicos del sistema se muestran en la tabla 1.

Tabla 1. Fuerzas y Parmetros del sistema.

SMBOLODESCRIPCIN

NFuerza normal de reaccin del carro sobre el pndulo, en la unin entre ambos

-NFuerza normal de reaccin del pndulo sobre el carro, (ley de accin y reaccin )

NcFuerza normal de la superficie sobre el carro

FFuerza aplicada para mover el carro

Ff

Fuerza de friccin entre el carro y la superficie desplazamiento

GcFuerza de gravedad sobre el carro

GpFuerza de la gravedad sobre el pndulo

Angulo de desviacin del pndulo respecto a la posicin de equilibrio

wVelocidad angular del pndulo

Aceleracin angular del pndulo

McMasa del carro

MpMasa del pndulo

acAceleracin lineal del carro

ap

Aceleracin lineal del pndulo

LDistancia desde la unin entre el carro y el pndulo

g

Aceleracin gravitatoria

cCoeficiente de friccin entre la superficie y el carro

p

Coeficiente de friccin entre la articulacin que une al carro y pndulo

IMomento de inercia del pndulo relativo a la articulacin

MSumatoria de los pares no inerciales que actan en el pndulo, respecto a la articulacin de unin.

A continuacin se se define en un sistema de coordenadas bidimensionales, porque para controlar el equilibrio de pndulo son suficientes los movimientos de avance y reversa.

Fig.2. Diagrama de cuerpo libre del sistema.

La descripcin del proceso de obtencin de las ecuaciones de movimiento del sistema se muestra en seguida.

Aplicando la segunda ley de newton al movimiento lineal del carro.

(1)

Se descomponen las fuerzas y la aceleracin de la ecuacin 1, en sus trminos correspondientes en ejex y en eje y. Teniendo en cuenta que ux y uy son los vectores unitarios.

(2)

De este modo se podra reescribir (1), separndola en cada eje as:

(3)

(4)Se deben encontrar las expresiones para los siguientes trminos: [ Ff , Nx , Ny y Nc] presentes en las ecuaciones anteriores.

Para la fuerza de friccin se debe tener en cuenta que la superficie limita el movimiento del carro, hacia arriba y hacia abajo. La fuerza de friccin ser:

(5)

En segundo lugar, aplicando la ley de Newton al movimiento lineal del pndulo, se obtiene la siguiente ecuacin.

(6)

Al igual que en el caso del carro, se procede a descomponer las fuerzas y la aceleracin de la ecuacin 6, en trminos correspondientes al eje x y eje y

La fuerza ejercida por la gravedad sobre el pndulo.

(7)

Para descomponer la aceleracin del pndulo, ap , debido a que se sita entre el centro de masas del pndulo , est compuesta por:

La aceleracin del carro al que est unido el pndulo.

(8)

La rotacin del pndulo a una velocidad angular, se puede describir como:

(9)

Por lo tanto, la aceleracin angular del pndulo es:

(10)Se puede reescribir la aceleracin del pndulo de la siguiente manera:

(11)Donde:

rp= es el vector que presenta la posicin del centro de masa del pndulo respecto a la articulacin sobre la cual rota el pndulo.

(12)

Se sustituye las equivalencias anteriores en (11), obteniendose:

(13)

Ahora, se realiza el producto vectorial en los vectores unitarios para poder simplificar la ecuacin anterior.

(14)

Se obtiene el siguiente resultado:

(15)

Se introduce (15) en (6 y descomponiendo las fuerzas y la aceleracin de (6) en trminos correspondientes en el eje x y en el eje y, se obtiene:

(16)

(17)

En tercer lugar, se aplica la segunda ley de Newton al movimiento rotatorio del pndulo, alrededor de la articulacin obtenemos la siguiente ecuacin:

(18)

Donde:

(19)

M es el sumatorio de los pares no inerciales actuando en el pndulo respecto de la articulacin que los une.

(20)

I es el momento de inercia del pndulo respecto de la articulacin que lo une con el carro.

(21)

El producto anterior se puede interpretar como el par generado por la fuerza inercial causada por la aceleracin del carro.

Sustituyendo (21),(20),(19) en (18), se obtiene.

(22)

Una vez realizado el anlisis, se reordena y agrupa las ecuaciones obtenidas, en primer lugar, se sustituir Nx de (16) en (3).

(23)

Ahora, sustituyendo (23) en (22), se obtiene:

(24)

El siguiente paso es aislar Ny de (17) y sustituirla en (4)

(25)

Seguidamente, se sustituye Nc ( 25) en (5)

(26)

Ahora, se introduce la variable Ff de (23) y (24), suponiendo trminos de friccin nulos se tiene.

(27)

(28)

4. RNA PARA EL CONTROL DE EQUILIBRIO DEL PNDULO INVERTIDO

Las redes neuronales consisten en una simulacin de las propiedades observadas en los sistemas neuronales biolgicos, a travs de modelos matemticos recreados mediante mecanismos artificiales.

Para verificar el comportamiento de las RNAs implementadas en FPGAs, se tomo la aplicacin del pndulo invertido, este sistema aunque ha sido objeto de estudio en muchas investigaciones, sigue siendo el principio de muchos procesos industriales hoy en da, desde la simulacin del vuelo de una aeronave, hasta punto de partida en robots bpedos.

Matlab cuenta con una caja de herramientas (Neural Network Toolboox) que permite disear RNAs. Cuando se crea una RNA en Matlab,, las capas generadas incluyen la combinacin de pesos, operacin de multiplicacin y suma, adems de operaciones especiales como mapeo de entrada y salida de la RNA.

Antes de crear la red neuronal, se deben tener en cuenta los siguientes parmetros.

4.1 Nmero de capas ocultas

Las capas ocultas dan a la red la habilidad de generalizar y en la prctica las redes neuronales con una dos capas ocultas son las ms utilizadas, teniendo un buen desempeo. El incremento en el nmero de capas tambin incrementa el tiempo de procesamiento y el peligro de sobreajuste lo que conduce a un pobre desempeo en la prediccin fuera de muestra. El sobreajuste ocurre cuando un modelo de prediccin tiene muy pocos grados de libertad. En otras palabras, se tienen relativamente pocas observaciones en relacin con sus parmetros y por lo tanto es capaz de memorizar datos individuales en lugar de aprender patrones generales. Por lo tanto, se recomienda que todas las redes neuronales comiencen de preferencia con una o a lo mucho con dos capas.

4.2 NMERO DE NEURONAS OCULTAS

Para determinar el nmero de neuronas en la capa oculta no existen reglas generales o teoras, aunque existen algunas recomendaciones sugeridas.

La topologa de la red debe tener una forma piramidal, esto es, tener el mayor nmero de neuronas en la capa de entrada y menos en las posteriores. Recomienda que el nmero de neuronas en cada capa este ms o menos entre la mitad de la capa siguiente y el doble del nmero de la capa anterior.

lo recomendable es empezar a probar con un nmero pequeo de neuronas ocultas e incrementarlo gradualmente slo si la red neuronal parece no aprender. De esta forma, el problema del sobreajuste que puede ocurrir al existir ms pesos (parmetros) que muestras de datos puede ser reducido. Este es el mtodo que se emplear para determinar el nmero de neuronas en la capa oculta de la red, aunque el utilizar redes ms grandes ayuda a reducir tanto el error de entrenamiento como el de generalizacin.

4.3 Nmero de neuronas de salida

Decidir el nmero de neuronas de salida es algo ms sencillo porque hay muchas razones para emplear slo una neurona de salida. Las redes neuronales con mltiples salidas, especialmente si stas salidas estn ampliamente espaciadas, producirn resultados inferiores en comparacin con una red con una nica salida. Lo recomendable es tener una red especializada para cada una de las salidas deseadas en cada prediccin.

4.4 Funciones de transferencia

Siempre es recomendable ver los histogramas de las variables escaladas de entrada y salida, de manera que se pueda identificar la necesidad de realizar un escalamiento que produzca una distribucin uniforme y poder emplear el nmero de neuronas disponibles de manera eficiente

La red neuronal seleccionada es una red de dos capas, con cinco neuronas en la capa inicial y una neurona en la capa de salida. Las funciones de activacin seleccionadas fueron la funcin de activacin tansig que genera una tangente hiperbolica consiguiendo obtener a la salida de la neurona valores comprendidos entre 1 y -1, cuando se evalan desde menos infinito, hasta infinito. En la segunda capa se tiene una funcin de activacin purelin, la cual emula una constante multiplicadora igual a 1, es decir la entrada es idntica a la salida.

Los datos de entrada estuvieron basados en el modelo patentado en Matlab de pndulo invertido, digitando en la ventana de comandos la palabra slcp se puede observar el sistema pndulo invertido animado.

La red seleccionada es una Feedfoward, esta es una red no recurrente muy utilizada en sistemas digitales, por su eficiencia y simplicidad. La topologa de red neuronal creada en NNTool es la propuesta en la figura 3.

Fig.3. Topologa de la RNA seleccionada

4.5 entrenamiento de la red

Entrenar una red neuronal para aprender patrones involucra el presentarle ejemplos de manera iterativa de las respuestas correctas. El objetivo del entrenamiento es encontrar un conjunto de pesos entre las neuronas que determinan el mnimo global de la funcin de error. A menos que el modelo est sobre ajustado, el conjunto de pesos debera proporcionar una buena generalizacin. Un trmino de momento y de cinco a diez conjuntos aleatorios de pesos iniciales pueden mejorar las oportunidades de alcanzar un mnimo global.

El entrenamiento converge de una manera muy rpida, alcanzando un porcentaje de error con tendencia a 0, lo cual indica que todas las entradas fueron correctamente clasificadas.

En la figura 4 se muestra la curva caracterstica del error, obtenido tras el entrenamiento de la RNA.

Fig.4. Curva caracterstica del error en la RNA

El diagrama de bloques de simulink, generado en NNTool, se puede observar en la figura 5.

Fig.5. Diagrama de Bloques de la RNA exportada en simulink

5. DESARROLLO DEL MODELO EN XSG DE LA RNA

La estructura de red neuronal mostrada en la figura 3 se implementa en XSG por medio de bloques sumadores, multiplicadores, bloques de ganancia, constantes y bloques MCode, este ltimo se utiliza para desarrollar la funcin de transferencia de activacin , estos bloques se muestran en la figura 6,7 y 8 que representa la implementacin de una sola neurona de la capa inicial, la funcin de activacin tansig y la neurona de la capa de salida respectivamente. Cada una de las entradas es multiplicada por el peso calculado en el entrenamiento y una vez realizada la suma se adiciona el valor de Bias y se le aplica la funcin de transferencia para obtener finalmente la salida de la RNA.

Fig.6. Diagrama de bloques de una neurona (capa inicial)

Fig.7. Funcin de activacin Tansig

Fig.8. Diagrama de bloques neurona final (capa de salida)

Los parmetros de configuracin de estos bloques, permite obtener un funcionamiento ptimo sin problemas de sobre-flujo o saturacin, con la consecuencia de un mayor consumo de recursos de la FPGA. Si en un diseo no se tienen limitaciones en recursos, resulta prctico utilizar esta opcin, debido a que ahorra tiempo durante la puesta en marcha del diseo cuando se tienen un nmero grande de estos elementos, pero si por el contrario el ahorro de recursos es fundamental o los recursos disponibles son limitados, se debe seleccionar debidamente el tipo de salida, especificando el numero de bits, la posicin del punto binario, el tipo de cuantizacin y el tipo de sobre flujo, que permitan representar correctamente las cantidades.

Fig.9. Modelo en XSG de la red neuronal El diagrama mostrado en la figura anterior, representa el bloque completo generado en el software system generator. Se debe tener en cuenta que XSG genera el tipo de archivo necesario para exportar la rutina de control a XiIinx ISE. Ell tipo de archivo es .bit, una vez obtenido este archivo se puede implementar la rutina de control en la FPGA a utilizar.

Se deben incluir las caractersticas propias de la FPGA donde se desea generar la compilacin, as mismo se debe seleccionar el lenguaje de descripcin de la rutina a compilar, la direccin donde se desea guardar y el tipo de compilacin, para el caso particular de una FPGA el archivo .bit representa la opcin de Bitstream. Una vez configurado el software se encarga de finalizar la tarea, mediante la sntesis propia. La ventana caracterstica de compilacin se muestra en la figura 10.

Fig.10. Bloque de generacin de XSG

6. CONCLUSIONES

La implementacin de redes neuronales artificiales en dispositivos lgicos programables, permite el desarrollo de sistemas de control en tiempo real para un sistema de equilibrio, asumiendo las no linealidades presentes en el modelo del pndulo, ya que la arquitectura fsica de los dispositivos presentes en la tarjeta de desarrollo Nexys 2, brindan la posibilidad de implementacin de sistemas de control inteligente.

Aunque el criterio de diseo y seleccin de RNA est ms definido por experiencia del diseador que cualquier otro juicio. Es importante para diseadores con poca experiencia en el tema elegir mediante ensayo y error la red que mejor se ajuste a la solucin del problema, aprovechando software tan til como Matlab que ofrecen interfaces para personas novatas en el tema. La utilizacin del software Matlab en la consecucin de objetivos en este proyecto, es de vital importancia, debido a las mltiples herramientas que el software posee, permitiendo crear y simular la planta del sistema (pndulo invertido), as mismo crear y entrenar la red neuronal por medio de su herramienta NNTool, adicionalmente poder transportar la rutina de control inteligente a un lenguaje de programacin diferente, como es el VHDL, gracias a la herramienta Xilinx System Generator, ubicado dentro de las toolbox del software.

La implementacin de diseos por medio de XSG en FPGAs es importante tener en cuenta las caractersticas propias de la referencia de tarjeta de desarrollo, debido que a partir de los atributos que estas posean, se puede condicionar el diseo neuronal. Igualmente se debe buscar la manera de disminuir a mayor cantidad de bloques a implementar, ya que estos ocasionan consumo de recursos de la FPGA, pudiendo causar limitaciones en esta.

7. BIBLIOGRAFA

SANTOS. M (2011). Un enfoque aplicado del control inteligente. Revista Iberoamericana de Automtica e Informtica industrial 8 (2011) 283296.MATICH. D (2011). Redes neuronales: conceptos bsicos y aplicaciones. Universidad Tecnolgica Nacional. Grupo de investigacin aplicada a la ingeniera qumica (GIAIQ). Rosario. Argentina.VEGA. H (2011). Tesis doctoral Redes neuronales para el reconocimiento de la calidad morfolgica de mangos exportables para la empresa Biofruit del Per S.A.C. Universidad nacional Federico Villarreal. Lima. Per.SALAS. R (Ap. 2010) Redes neuronales artificiales. Universidad de Valparaso. Departamento de computacin.NACELLE. A (Ap 2009). Las redes neuronales: de la biologa a los algoritmos de clasificacin. Universidad de la republica. Ncleo de ingeniera biomdica. Montevideo. Uruguay.MEDINA. J et al (2009). Redes neuronales recurrentes en dispositivos lgicos programables para el control de desplazamiento de un robot mvil. Universidad de Pamplona. Pamplona. Colombia.

VALENCIA. M et al (2006). Algoritmo Backpropagation para Redes Neuronales: conceptos y aplicaciones. Instituto politcnico nacional centro de investigacin en computacin. Mxico DF.

NATIONAL. I. Introduccin a la tecnologa fpga: los cinco beneficios principales. Disponible: http://zone.ni.com/derzone/cda/tut/p/id/8289.HERNNDEZ. A et al (2012). Control inteligente del pndulo invertido, Universidad Complutense de Madrid. Facultad de informtica. P13.RAMOS. A et al (2010). Modelos matemticos de optimizacin. Universidad pontificia de Madrid, Escuela tcnica superior de ingeniera.MELO. D., MOLINA. R (2011). Desarrollo de un sistema de control de equilibrio para un mvil con dos ruedas de apoyo ubicadas lateralmente Robox 1.0. Universidad Pedaggica Nacional- Bogot D.C.MEDINA. J (2009). Metodologa para la implementacin de redes neuronales en dispositivos lgicos programables aplicadas en el control de desplazamiento de un robot mvil. Universidad de Pamplona. Departamento de maestra y doctorados.

.