• No se han encontrado resultados

CAPÍTULO 3. IMPLEMENTACIÓN DEL CONTROL DIFUSO EN EL FPGA PARA EL ROBOT MÓVIL

3.4 IMPLEMENTACIÓN DEL FLC EN EL FPGA

El uso de la herramienta Fuzzy Logic Toolbox proporciona la elaboración de una tabla de búsqueda para llevar a cabo la implementación del FLC en algún dispositivo físico [11] [12]. La ventana gráfica o visor de reglas generada por esta herramienta para el motor derecho de CD que permite la elaboración de una tabla de búsqueda es la que se muestra en la Figura 3.15 donde se presenta el ejemplo para el caso en que las variables de entrada tienen valores

e1

y

e0.5

obteniendo un valor

v0.57

. Esto es, que el voltaje aplicado al motor derecho de CD será 3.07 V resultado de la suma 2.5 V + 0.57 V. En la esquina inferior derecha se muestran entre corchetes los valores de las variables de entrada que pueden ser modificados y automáticamente se genera una salida a partir de éstas. Esto facilita la creación de una tabla de búsqueda. La Tabla 3.1 ilustra la tabla de búsqueda de los valores de voltaje que deben ser aplicados al motor derecho obtenidos a partir del visor de reglas de la herramienta Fuzzy Logic Toolbox. Este mismo procedimiento se

realiza para generar la tabla de búsqueda para el motor izquierdo (Tabla 3.2) apreciándose que el voltaje aplicado para los mismos casos de las variables de entrada es distinto para cada motor debido a que la dinámica de cada uno de ellos no es la misma.

a) b)

Fig. 3.14 Resultado de la simulación del sistema de control difuso: a) Motor derecho, b) Motor izquierdo

Tiempo [s] Tiempo [s] Fr ec ue nc ia [ H z] Fr ec ue nc ia [ H z]

[1 -0.5]

error=1 cambio_de_error=-0.5 cambio_de_voltaje=0.57

e

e

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 -5 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 -4.5 2.54 1.26 1.26 1.26 1.26 1.27 1.26 1.27 1.26 1.26 1.26 1.26 2.54 -4 2.54 1.26 1.26 1.26 1.26 1.27 1.26 1.27 1.26 1.26 1.26 1.26 2.54 -3.5 2.54 1.26 1.26 1.27 1.26 1.27 1.27 1.27 1.26 1.27 1.26 1.26 2.54 -3 2.54 1.26 1.26 1.26 1.26 1.27 1.26 1.27 1.26 1.26 1.26 1.26 2.54 -2.5 2.54 1.27 1.27 1.27 1.27 1.26 1.27 1.26 1.27 1.27 1.27 1.27 2.54 -2 2.54 1.46 1.46 1.46 1.46 1.46 1.46 1.46 1.46 1.46 1.46 1.46 2.54 -1.5 2.54 1.71 1.71 1.71 1.71 1.71 1.71 1.71 1.71 1.71 1.71 1.71 2.54 -1 2.54 2 2 2 2 2 2 2 2 2 2 2 2.54 -0.5 2.54 2.29 2.29 2.29 2.29 2.29 2.29 2.29 2.29 2.29 2.29 2.29 2.54 0 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 2.54 0.5 2.54 2.78 2.78 2.78 2.78 2.78 2.78 2.78 2.78 2.78 2.78 2.78 2.54 1 2.54 3.07 3.07 3.07 3.07 3.07 3.07 3.07 3.07 3.07 3.07 3.07 2.54 1.5 2.54 3.36 3.36 3.36 3.36 3.36 3.36 3.36 3.36 3.36 3.36 3.36 2.54 2 2.54 3.62 3.62 3.62 3.62 3.62 3.62 3.62 3.62 3.62 3.62 3.62 2.54 2.5 2.54 3.81 3.81 3.81 3.81 3.8 3.81 3.8 3.81 3.81 3.81 3.81 2.54 3 2.54 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 2.54 3.5 2.54 3.8 3.8 3.81 3.8 3.8 3.81 3.8 3.8 3.81 3.8 3.8 2.54 4 2.54 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 2.54 4.5 2.54 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 3.8 3.81 3.81 2.54 5 2.54 3.81 3.81 3.8 3.81 3.81 3.8 3.8 3.81 3.8 3.81 3.8 2.54

Fig. 3.15 Visor de reglas de la herramienta Fuzzy Logic Toolbox para el motor derecho de CD

Con la ayuda de las tablas de búsqueda, es posible programar en VHDL el FLC, se introducirá la información de las tablas en código fuente y posteriormente se descargará al FPGA. El tipo de sentencias para describir las tablas de búsqueda son las que se muestran en el ejemplo de código fuente para el motor derecho presentado a continuación [15]:

if (error = -5 and cambio_error = -3) then voltaje:= 2.54; elsif (error = -5 and cambio_error = -2.5) then voltaje:= 2.54;

. . .

elsif (error = 5 and cambio_error = 3) then voltaje := 2.54;

endif;

En el siguiente capítulo se darán más detalles de la implementación del FLC en el FPGA.

e

e

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 -5 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 -4.5 2.37 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 2.37 -4 2.37 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 2.37 -3.5 2.37 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 2.37 -3 2.37 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 2.37 -2.5 2.37 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 1.18 2.37 -2 2.37 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 2.37 -1.5 2.37 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 2.37 -1 2.37 1.88 1.88 1.88 1.88 1.88 1.88 1.88 1.88 1.88 1.88 1.88 2.37 -0.5 2.37 2.14 2.14 2.14 2.14 2.14 2.14 2.14 2.14 2.14 2.14 2.14 2.37 0 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 0.5 2.37 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.37 1 2.37 2.87 2.87 2.87 2.87 2.87 2.87 2.87 2.87 2.87 2.87 2.87 2.37 1.5 2.37 3.14 3.14 3.14 3.14 3.14 3.14 3.14 3.14 3.14 3.14 3.14 2.37 2 2.37 3.38 3.38 3.38 3.38 3.38 3.38 3.38 3.38 3.38 3.38 3.38 2.37 2.5 2.37 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 2.37 3 2.37 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 2.37 3.5 2.37 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 2.37 4 2.37 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 2.37 4.5 2.37 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 3.56 2.37 5 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37 2.37

CONCLUSIÓN

La propuesta de diseño del FLC descrita a lo largo del capítulo muestra una metodología clara y sintetizada de las etapas a desarrollar para ser aplicado al control de velocidad de rotación de los motores de CD del robot móvil. Esto no quiere decir que esta metodología es aplicable solo a motores de CD, de manera análoga podría ser aplicada a otros procesos donde se requiera un control de variables físicas tales como la temperatura, humedad, iluminación, entre otras. La característica principal del diseño de un FLC es que consiste en el desarrollo de un control automático por medio de expresiones lingüísticas, es decir, emplea el lenguaje natural que un humano utiliza, para la descripción de la configuración del FLC. El rendimiento y resultados de diseño de un FLC dependerá en gran medida de qué tan familiarizado se encuentre el diseñador con el proceso y esto se logra mediante observaciones pacientes, cuidadosas mediciones y un razonamiento intuitivo del funcionamiento del proceso que se pretende controlar (que en este caso fueron los motores de CD), en otras palabras, el diseño del FLC variará dependiendo de persona que lo diseñe y en este trabajo se presentan los resultados de diseño en base al conocimiento y experiencia obtenida a lo largo de dos años trabajando y analizando estos motores de CD.

Hoy en día existen herramientas de software que permiten llevar a cabo el diseño de un FLC en muy poco tiempo, tal es el caso de la herramienta Fuzzy Logic Toolbox la cual fue de gran utilidad para la obtención de los valores de salida de voltaje a ser aplicado a los motores de CD. Su ambiente gráfico facilitó el diseño de las funciones de membresía así como los universos de discurso y reglas de inferencia; uno como diseñador sólo tiene que elegir el método de inferencia difusa y defusificación y automáticamente esta herramienta generará los valores reales a ser aplicados a alguna planta o proceso.

A pesar de que todo el diseño se basa en reglas y expresiones lingüísticas, se hizo necesario representar al proceso a controlar mediante una expresión analítica, esto es, su función de transferencia, la cual contiene toda la información referente a la dinámica de los motores de CD y ésta fue utilizada durante todas las simulaciones y pruebas realizadas en Matlab a través de sus herramientas de diseño del FLC.

REFERENCIAS

[1] Antoni Mànuel,àDo i goàBiel,àJoa ui àOli é,à I st u e ta ió àVi tual,àád uisi ió àp o esadoà àa lisisàdeàseñales ,àPolite t,àBa elo a,à .

[2] No a à“.àNise,à “iste asàdeà o t olàpa aài ge ie ía ,àEdito ialàCo ti e tal,àCalifo iaà“tate

Polytechnic University, tercer edición, 2004.

[3] LM2907 Tachometer/Speed Switch Building Block Applications, National Semiconductor [4] LM2907/LM2917 Frequency to Voltage Converter, National Semiconductor

[5] Steven T. Karris I t odu tio àtoà“imulink with engineering applications , Orchard publications, United States of America, 2006

[6] Arturo Téllez, Velázquez, Arquitectura de un controlador lógico difuso usando lógica

o i ato ia ,àCIC,àIPN,àMé i o,à .

[7] Malo e àTi oth àJ.,à Ele t ó i aài dust ialà ode a ,àPrentice Hall, Quinta edición, 2006 [8] Wildi Theodore, Maquinas elé t i asà àsiste asàdeàpote ia , Prentice Hall, Sexta edición, 2007.

[ ]àI i gàL.àKoso àPh.àD.,à M ui asàelé t i asà àt a sfo ado es , Prentice Hall, Segunda edición, 1993.

[10] Nguyen, H. T.;àP asad,àN.àR.;àWalke ,àC.àL.;àWalke ,àE.àá.;à áàFi stàCou seài Fuzzy and Neural

Co t ol; àChampman & Hall/CRC Editions, 2003

[11]àTheàMathWo ks™,à MáTLáB,àFuzz àLogi àTool o ,àUse ’sàguide , Release 2008a, version 2. [12] Coronel Lemus Martha Esmeralda, Hernández Reyes José Antonio, Simulación de sistema difuso para el control de velocidad de un motor de CD , 2002.

[13] Antonio Javier Barragán Piña, Síntesis deàsiste asàdeà o t olà o osoàesta lesàpo àdiseño ,à Tesis doctoral, Universidad de Huelva, Mayo 2009.

[14] J.àJ.àJass i,àPauloàJ.àá.à“e a,à A comparison of Mamdani and Sugeno inference systems for a space fault detection application , 2002.

[15] David G. Maxines, Jessica Alcalá, VHDL el arte de programar sistemas digitales , 1° Edición, Grupo Editorial Patria.

Documento similar