Escolar Documentos
Profissional Documentos
Cultura Documentos
DISEO DE UN CONTROLADOR LGICO DIFUSO, APLICADO AL CONTROL DE POSICIN DE UN SERVOMOTOR DE C.D., USANDO UN ALGORITMO GENTICO
H. VERACRUZ, VER.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
DE
INSTITUTO
INGENIERA
TESIS
2007
Instituto de Ingeniera
DEDICATORIA
A Dios que me ha dado entendimiento y sabidura, a m amada esposa Julia Edith que es mi ayuda idnea y que me ha sido de gran apoyo para alcanzar las metas propuestas, a mi hija Yohana que es la que me inspira seguir adelante, a mis padres Juan y Carmen por el amor derramado en m.
AGRADECIMIENTOS
Al Dr. Jos Rubn F. Lagunas Jimnez por motivarme y apoyarme durante todo el proceso de esta tesis y por compartirme sus conocimientos. A todo el personal del Instituto de Ingeniera de la Universidad Veracruzana, por darme el apoyo durante mi formacin acadmica y un especial agradecimiento al M.I. Alberto Lorandi Medina, M.I. Enrique Rodrguez Magaa y al Ing. Guillermo Hermida Saba por darme todas las facilidades y apoyo para poder ser posible esta tesis.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
NDICE
1. INTRODUCCIN................................................................................................ 3 2. PLANTEAMIENTO DEL PROBLEMA ................................................................ 6 3. RELEVANCIA DEL TEMA DE INVESTIGACIN............................................... 8 4. OBJETIVO .......................................................................................................... 9 5. DELIMITACIN DEL TEMA DE INVESTIGACIN .......................................... 10 6. MARCO TERICO ........................................................................................... 11 6.1 ANTECEDENTES....................................................................................... 11 6.2 LGICA DIFUSA ....................................................................................... 13 6.2.1 INTRODUCCIN A LA LGICA DIFUSA ........................................... 13 6.2.2 CONJUNTOS DIFUSOS...................................................................... 14 6.3 CONTROLADOR LGICO DIFUSO .......................................................... 17 6.3 1 FUSIFICACIN.................................................................................... 18 6.3.2 BASE DE CONOCIMIENTO ................................................................ 19 6.3.3 LGICA DE DECISIONES .................................................................. 22 6.3.4 DEFUSIFICACIN............................................................................... 23 6.4 ALGORITMOS GENTICOS...................................................................... 25 6.4.1 INTRODUCCIN A LOS ALGORITMOS GENTICOS ...................... 25 6.4.2 CODIFICACIN................................................................................... 26 6.4.3 INICIALIZACIN DE LA POBLACIN ................................................ 28 6.4.4 DECODIFICACIN.............................................................................. 29 6.4.5 EVALUACIN...................................................................................... 30 6.4.6 SELECCIN ........................................................................................ 30 6.4.7 CRUZAMIENTO................................................................................... 31 6.4.8 MUTACIN.......................................................................................... 32 6.4.9 ALGORITMO GENTICO SIMPLE ..................................................... 32 7. HIPTESIS DE ESTUDIO................................................................................ 34 8. DISEO DEL CONTROLADOR DIFUSO ........................................................ 35 8.1 PROBLEMA DE CONTROL ....................................................................... 35 8.2 MTODO DE OPTIMIZACIN ................................................................... 36 8.3 PROCESO GENTICO .............................................................................. 38 8.4 PROCEDIMIENTO PARA IMPLANTAR EL CONTROLADOR LGICO DIFUSO ............................................................................................................ 45 8.4.1 BASE DE CONOCIMIENTO ............................................................... 46 8.4.2 NCLEO DE INFERENCIA ................................................................. 49 8.5. CRITERIO BASADO EN LA EXPERIENCIA PARA SELECCIONAR LAS REGLAS DEL CLD ........................................................................................... 49 9. RESULTADOS ................................................................................................. 51 9.1 RESULTADOS DEL CLD SINTONIZADO EN BASE A LA EXPERIENCIA51 9.2 RESULTADOS DEL CLD SINTONIZADO EN BASE AL MTODO DE OPTIMIZACIN................................................................................................ 54 10. CONCLUSIONES ........................................................................................... 57 ANEXO A.............................................................................................................. 58 ANEXO B.............................................................................................................. 72 REFERENCIAS .................................................................................................... 74
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
1. INTRODUCCIN
El control difuso incorpora conocimiento experto en su diseo. Sin embargo, se pueden utilizar mtodos basados en optimizacin para el diseo de los mismos; Como es sabido los algoritmos genticos son una alternativa importante para resolver problemas de optimizacin [11, 14, 15 y 23]. Los algoritmos genticos son herramientas computacionales, los cuales utilizan operadores basados en los procesos de la evolucin natural, que realizan un proceso de bsqueda heurstica en un espacio de bsqueda valido, donde se presupone se encuentra la solucin ptima del problema de optimizacin. Un controlador difuso puede ser diseado en parte o en su totalidad, considerando que se puede encontrar un controlador ptimo, lo cual puede ser visto como un problema de optimizacin [11]. Los mtodos de sintonizacin de controladores difusos, planteados como problemas de optimizacin, pueden aplicarse en los siguientes casos: Sintonizacin de las funciones de membresa o el diseo de la base de reglas. En esta investigacin, se usa un algoritmo gentico simple para obtener la base de reglas de inferencia difusa. Uno de los objetivos principales es comparar el desempeo de un controlador difuso, sintonizado en base a la experiencia, contra un controlador diseado con el mtodo de optimizacin. Una de las ventajas de usar este mtodo para determinar la base de reglas de inferencia, es que slo se requiere evaluar una funcin objetivo, y aplicar los operadores genticos, que permita al algoritmo una bsqueda aleatoria en todo el espacio factible, asegurando la existencia de una solucin, que posiblemente sea la solucin ptima. En esencia, optimizar las reglas de inferencia de un controlador lgico difuso (CLD), es encontrar la mejor combinacin entre las variables difusas de entrada y de salida, para un determinado rango de operacin del CLD. Karr fue uno de los primeros investigadores en usar algoritmos genticos para sintonizar sistemas difusos [12].
l propuso un enfoque fuera de lnea, para sintonizar las funciones de membresa de un sistema difuso, sin embargo no incluy la base de reglas en el procedimiento propuesto. Desde su punto de vista la base de reglas obtenidas empricamente por un humano experto, puede cubrir un rango de operacin ms amplio. Recientemente, en 2006, Zhang y Li, disearon un controlador difuso usando
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
algoritmos genticos, para controlar la temperatura de un horno. Ellos emplearon un algoritmo gentico para obtener la base de reglas del controlador [11]. Para efectos de esta investigacin, se optimiza un controlador difuso de dos dimensiones, con el objeto de controlar la posicin angular de un servomecanismo de corriente directa. El desempeo del controlador diseado, es presentado por las planta real. Los resultados experimentales incluyen los del CLD diseado con el mtodo de optimizacin y el CLD basado en la experiencia. simulaciones del esquema de control y por los resultados experimentales, usando una
En el captulo 2 se presenta el planteamiento del problema, en el que se describe un sistema de control de posicin de un motor de corriente directa y se expresa que el problema se resuelve implantando un control difuso. El captulo 3 se refiere a la relevancia del tema de investigacin en el cual se hace hincapi que se aplicar un algoritmo gentico simple para sintonizar un controlador lgico difuso. El objetivo se presenta en el captulo 4 y posteriormente se realiza la delimitacin del tema de investigacin en el captulo 5. El captulo 6 se refiere al marco terico, donde se presenta los aspectos bsicos de la lgica difusa, conjuntos difusos y de la metodologa utilizada por el controlador lgico difuso y as como tambin se explica lo relacionado con el algoritmo gentico.
La hiptesis de estudio presentada en esta tesis en el captulo 7, establece que el desempeo del CLD, si se sintoniza con el algoritmo gentico simple ser mejor o igual que otro CLD sintonizado en base a la experiencia nicamente. El captulo 8 se refiere al diseo de un CLD e inicia planteando el problema de control y posteriormente se hace mencin del mtodo de optimizacin que fue utilizado para la obtencin de las reglas del control difuso, seguido del proceso gentico donde se obtiene una base de reglas, los rangos de las variables de entradasalida, los datos de las funciones de membresa mediante el uso del MATLAB, por ltimo se explica el procedimiento para la implantacin del CLD en una tarjeta de evaluacin basada en el microcontrolador HCS12 de MOTOROLA. El captulo 9 se refiere a los resultados obtenidos en el CLD sintonizados en base a la experiencia y el
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
CLD sintonizado en base al mtodo de optimizacin. En el captulo 10 se escribe las conclusiones de esta investigacin referente al mtodo de optimizacin basado en un algoritmo gentico simple de aplicacin general para obtener la base de reglas del CLD. Como parte final se incluyen anexos referentes a la Tarjeta de Evaluacin e Interfaces y Caractersticas del servomotor as como las referencias consultadas.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
MOTOR
REFERENCIA
La carga mueve al eje de un potencimetro que sirve para proporcionar la variable de posicin. El mdulo tambin cuenta con un tacmetro, que nos permite medir la velocidad angular.
Las variables de estado posicin y velocidad son utilizadas para el control de posicin por el controlador, formndose en ambos casos las seales de error y cambio de error. El diseo de un controlador lgico difuso para el control de posicin de un motor de corriente directa no es novedad actualmente, ya que anteriormente se han realizado trabajos tanto simulados en computadoras como aplicaciones reales de 6
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
CARGA
Instituto de Ingeniera
controladores difusos, lo relevante de esta tesis es el diseo y la implantacin prctica de un controlador difuso, pero utilizando un algoritmo gentico simple para sintonizar las reglas del controlador y poder obtener resultados satisfactorios de desempeo en el dominio del tiempo en cuanto a su tiempo de crecimiento, tiempo de establecimiento y mximo sobrepaso. Lo significativo de este trabajo es proyectar que la aplicacin de los algoritmos genticos en la lgica difusa, es de gran importancia para sintonizar controladores lgicos difusos de servomotores y logrando as obtener controladores ptimos.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
4. OBJETIVO
Sintonizar un controlador basado en Lgica difusa, aplicado a un problema de algoritmo gentico simple.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Instituto de Ingeniera
El algoritmo gentico simple ser utilizado nicamente para sintonizar las reglas del controlador lgico difuso (CLD). En cuanto a las funciones de membresa de
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
10
Instituto de Ingeniera
La base de este enfoque es la premisa de que el elemento clave del pensamiento humano no son nmeros, mas bien etiquetas de conjuntos difusos, esto es, clases de objetos en los cuales el cambio de pertenencia a no pertenencia a algn conjunto, es gradual y no abrupta como ocurre en los conjuntos tradicionales [27-29]. Mamdani y Assilian [20-21], reportan una aplicacin de lgica difusa al control de velocidad de una mquina de vapor, cuyo control con tcnicas convencionales era muy deficiente. Esta cita marca el inicio del control lgico difuso presentando una metodologa para la realizacin de controladores difusos, estableciendo claramente los pasos de: fusificacin, evaluacin de reglas y defusificacin.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
11
Instituto de Ingeniera
Despus de estas primeras investigaciones ha dado lugar a muchos trabajos relacionados con la lgica difusa, pero es necesario acotar algunas citas, las que ms se relacionan con la presente investigacin. En 1989, Y. F. Li y C. C. Lau [18], desarrollaron un algoritmo difuso basado Compararon su desempeo con respecto a un controlador PI digital y un control adaptivo por modelo de referencia. Estos resultados se obtuvieron por medio de una simulacin hecha en una microcomputadora basada en el microprocesador 6502 y con un lenguaje intrprete de BASIC. Resultando el controlador difuso superior en valores como: error en estado estacionario, tiempo de establecimiento y respuesta transitoria. En cuanto a controladores difusos sintonizados con mtodos de optimizacin, utilizando algoritmos genticos o redes neuronales, se tiene como antecedente un trabajo publicado por Karr, en el cual us algoritmos genticos para sintonizar las funciones de membresa de un sistema difuso [12]. En el ao 2006, Zhang y Li, obtuviern la base de un controlador lgico difuso mediante algoritmos genticos, para controlar la temperatura de un horno [11].
Existen herramientas, de dominio publico, que sirven para disear la base de conocimiento del CLD (Funciones de membresa y reglas), resultando excelentes herramientas cuando el controlador va a operar en un microprocesador o un microcontrolador como es el caso de los microcontroladores MC68hcl2. El MC68hcl2 contempla cinco instrucciones especficas relacionadas directamente con los procesos de: fusificacin, evaluacin de reglas y defusificacin, que permiten la aplicacin de este microcontrolador en forma natural.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
12
Instituto de Ingeniera
El concepto de Lgica Difusa fue concebido por Lotfi Zadeh, profesor de la Universidad de California en Berkley, quien inconforme con los conjuntos clsicos (crisp sets) que solo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la present como una forma de procesar informacin permitiendo pertenencias parciales a unos conjuntos que en contraposicin a los clsicos los denomin Conjuntos Difusos (fuzzy sets), el concepto de conjunto difuso fue expuesto por Lotfi Zadeh en un articulo, hoy clsico en la literatura de la lgica difusa, en el ao de 1965 [27]. El mismo Zadeh publica en 1971 el artculo, "Quantitative Fuzzy Semantics", en donde Introduce los elementos formales que acabaran componiendo el cuerpo de la doctrina de la lgica difusa y sus aplicaciones tal como se conocen en la actualidad.
El profesor Zadeh menciona que la gente no requiere informacin numrica precisa del medio que lo rodea para desarrollar tareas de control altamente adaptable por ejemplo conducir un automvil o caminar por una acera sin chocarse con los postes y las otras personas. Si los controladores convencionales, en esencia realimentados, se pudieran programar para aceptar entradas con ruido e imprecisas ellos podran trabajar de una manera mas eficiente y quizs se podran implementar mas fcilmente. En Estados Unidos principalmente por razones culturales, el concepto de lgica difusa no tuvo mucho impacto mientras en oriente especficamente los
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
13
Instituto de Ingeniera
Japoneses y algunos pases europeos aceptaron sin complicacin esta idea y han estado desde la dcada de los 80s construyendo aplicaciones reales y productos que funcionan basados en lgica difusa. Por ejemplo en 1986 Yamakawa publica el artculo, "Fuzzy Controller Hardward System" y desarrolla controladores difusos en circuitos integrados. En 1987, se inaugura en Japn el subterrneo de Sendai, uno de entonces el controlador inteligente ha mantenido los trenes rodando eficientemente. En 1987, "FUZZY BOOM", se comercializan multitud de productos basados en la lgica difusa (sobre todo en Japn). los ms espectaculares sistemas de control difuso creados por el hombre. Desde
Un conjunto difuso A de un universo de discurso U es caracterizado por una funcin de membresa =U (0, 1), que asocia a cada elemento u de U, un nmero (u) que puede tomar todos los valores reales comprendidos dentro del intervalo (0,1) [1], que representa el grado de membresa de u en A [20, 21 y 29 ]. El conjunto difuso A de U = u1, u2,. un es expresado por: A= (u i ) u i = (u i )
n i =1 A
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
(6.1)
Donde
representa unin.
En la figura 6.1 se presenta un conjunto difuso denominado Fiebre alta, donde se puede apreciar el cambio continuo del valor de pertenencia, para cada uno de los puntos del universo de discurso. En esta figura se hace nfasis en dos valores de temperatura cuya diferencia es pequea, as, las temperaturas 38 y 38.4 se evalan ligeramente diferente y no como un cambio abrupto, lo cual pudiera ocurrir en un conjunto tradicional
14
Instituto de Ingeniera
(x)
1 0.6 0.5
35
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
36 37 38 38.4 39 Fiebre alta 40 41
42
A continuacin se definen los tres operadores bsicos utilizados en esta tesis: (a) La unin de subconjuntos difusos A y B es definida A + B, y es expresada por : A+B=
(u )V (u )
1 i i A B
(6.2)
Donde V representa el mximo (max). La unin corresponde al conectivo OR. (b) La interseccin de A y B se representa A.B y se define por: A.B= (u1 ) (u i )
i A B
(6.3)
El grado de membresa en los conjuntos difusos, puede ser representado por una funcin continua, la cual es denominada como funcin de membresa. En otras palabras, si F es un conjunto difuso, entonces la funcin de membresa F(x) mide el grado con el cual el valor x pertenece al conjunto F, de la cual puede tomar diferentes formas, dependiendo de la aplicacin en particular [10 y 30]. Algunas de las funciones 15
Instituto de Ingeniera
ms conocidas son: funcin singleton, cuyo valor de membresa es igual a 1 para un solo punto y el resto es cero, funcin trapezoidal, triangular, sigmoidal, entre otras. La figura 6.2 muestra una funcin de membresa de forma triangular, donde se aprecia que los valores de membresa cambian en forma lineal.
M e m b r e s a
En las figuras 6.3 y 6.4 se presentan otras formas de funciones de membresa, la figura 6.3 muestra una funcin de membresa trapezoidal, y la figura 6.4 presenta una funcin de membresa no-lineal.
M e m b r e s a
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
0.1 0.2 Presin 0.3 0.4 Baja media alta 0.1 0.2 Presin 0.3 0.4
16
Instituto de Ingeniera
Una notacion convencional para los conjuntos difusos que es popular en la literatura cuando el universo de discurso U, es discreto y finito, es dado para el conjunto difuso A mediante la ecuacin 6.5:
A=
A ( x1 )
~
x1
A ( x2 )
~
x2
+" =
i
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
0.1 0.2 Nivel de agua 0.3 0.4
A ( xi )
~
xi
(6.5)
y cuando el universo de discurso U es continuo e infinito, el conjunto difuso A se representa por la ecuacin 6.6:
A=
A ( x)
~
(6.6)
17
Instituto de Ingeniera
metodologa nica, sin embargo para efecto de esta tesis se utiliza el mtodo propuesto por C.C. Lee [16-17], el cual est compuesto por las siguientes partes: a) Fusificacin. b) Base de conocimiento. d) Defusificacin. c) Lgica de decisiones.
FUSIFICACIN
6.3 1 FUSIFICACIN
Es el proceso de asignar valores de membresa o pertenencia a un valor numrico de entrada para cada una de las etiquetas difusas que forman la variable lingstica; por ejemplo, la variable lingstica Temperatura de la sala puede tomar los valores baja, semi-baja, media y alta; para este caso la entrada al fusificador es un valor de temperatura preciso (crisp), y la salida estar formada por
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
BASE DE CONOCIMIENTO LGICA DE DECISIONES SISTEMA BAJO CONTROL
DEFUSIFICACIN
18
Instituto de Ingeniera
los valores de verdad de cada una de las etiquetas baja, semi-baja, media y alta, como se muestra en La figura 6.6.
Grado de membresa
22 Entrada
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Baja (0.0) Semi Baja (0.6) Media Alta
Baja
Temperatura de la sala
Semi Baja
Media
Alta
(0.4)
0.6 0.4
(0.0)
15
20 22
25
30
Fusificador
Universo de Discurso
Se obtiene de la experiencia desarrollada por un operador y de conocimientos sobre Ingeniera de control, y depende del proceso a controlar y los requerimientos de diseo. Esta compuesta de dos partes, una base de datos y una base de reglas de control difuso (utiliza variables lingstica). Las bases de reglas tambin se puede obtener utilizando mtodos de optimizacin [11y 15]. Base de datos
Incluye la discretizacin y normalizacin de los universos de entrada y salida, la definicin de subconjuntos (particin de los universos y funciones de pertenencia) y satisfacer la propiedad de completitud. a). Discretizacin. Debido a la necesidad de discretizar, ya que los datos se procesan en forma digital, este proceso genera niveles cuantizados, cada uno de los cuales representa un elemento genrico en un universo de discurso.
19
Instituto de Ingeniera
b). Normalizacin. La normalizacin del universo discreto puede ser lineal o no. c). Particin de los universos. Se refiere al nmero de etiquetas que toma una variable lingstica; por ejemplo la variable temperatura de la sala, puede tomar los valores muy baja, caractersticas del sistema a controlar y la calidad de control. d). Funciones de pertenencia. baja, media y alta. El nmero de trminos esta determinado por las
Como ya se ha mencionado anteriormente las funciones de pertenencia o membresa, representan grficamente la relacin que mantienen los elementos de un subconjunto difuso, dentro de un universo de discurso, con el grado de pertenencia al conjunto en cuestin. La representacin de estas figuras puede tomar diferentes formas, siendo las ms utilizadas las de forma triangular y trapezoidal. La utilizacin de alguna de ellas puede ser de manera arbitraria, dependiendo del la aplicacin en particular [30]. e). Completitud.
Esta propiedad indica a que el algoritmo debe ser capaz de inferir una accin correcta para cada estado del proceso.
Base de reglas
La estrategia de control, derivada de la experiencia se expresa mediante el uso de algoritmos difusos. Las reglas de control que forman el algoritmo difuso pueden definirse usando los siguientes criterios: a) Seleccin de las variables.
Las variables de entrada se seleccionan basndose en la experiencia y en conocimientos de Ingeniera y el cambio de error (derivada del error). La importancia de usar la variacin de error se ilustrar con un caso cotidiano, como es el hecho de atravesar una avenida, para lo cual no solo consideramos la distancia entre un auto y la persona que va cruzar la calle, sino tambin consideramos muy relevante la rapidez con la que el auto se desplaza.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
20
Instituto de Ingeniera
b) Origen y obtencin de las reglas de control. La experiencia y los conocimientos en Ingeniera de control. Es la que ms se utiliza [18]. Utilizando mtodos de optimizacin [11 y 15]. En un controlador lgico difuso, su operacin dinmica esta caracterizada por conocimiento experto es usualmente de la forma: que pueden inferir).
IF (un conjunto de condiciones son satisfechas) Then (un conjunto de consecuentes Donde los antecedentes y los consecuentes de las reglas IF-Then son asociados con conceptos difusos (trminos lingsticos), formando lo que se conoce como declaraciones condicional difusa en donde el antecedente es una condicin sobre la base del estado de las variables del proceso y el consecuente es una accin de control para el sistema a controlar (proceso). c) Tipos de reglas de control.
Lee C. C. [16], menciona que existen dos tipos de reglas usadas en el diseo de un CLD: las reglas de control de evaluacin de estado y las reglas de evaluacin de objeto.
Este tipo de reglas es el que ms se usa, y en el caso de los sistemas MISO, del ingls entradas mltiples salida nica, toman la siguiente forma: R1 : si x es A1 ,.., y w es B1 entonces z es C1. R2 : si x es A2 ,.., y w es B2 entonces z es C2. R3 : si x es A3 ,.., y w es B3 entonces z es C3. . . Rn : si x es An ,.., y w es Bn entonces z es Cn. Reglas de evaluacin de objeto Este tipo de reglas involucra la evaluacin del estado actual as como el resultado de la accin de control. Se aplica en esquemas de control difuso de tipo predictivo.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
21
Instituto de Ingeniera
Despus que las variables de entrada han sido convertidas a valores de variables lingsticas, el paso de inferencia difusa identifica las reglas que se aplican a cada situacin, y mediante un mtodo llamado MAX/MIN [7], determina los valores de la variable lingstica de salida, en el caso que se tenga solo una salida. El siguiente ejemplo muestra como se aplica este mtodo el cual esta compuesto de dos pasos: - Agregacin, que relaciona los antecedentes de las reglas.
- Composicin, el cual procesa los consecuentes de las mismas. Suponiendo que s esta controlando un proceso y las variables lingsticas de entrada son: distancia y ngulo y la variable de salida: potencia; se pueden escribir a manera de ejemplo, la siguiente base de reglas con los valores de pertenencia de las etiquetas que componen los antecedentes de cada una de las reglas. Regla 1 Regla 2 Regla 3 SI distancia = media (0.9)(1) y ngulo = positivo pequeo (0.8)(1) entonces potencia = positiva-media. cero. positiva-media. SI distancia = media (0.9)(1) y ngulo = cero (0.2)(1) entonces potencia = SI distancia = grande (0.1)(1) y ngulo = cero (0.2)(1) entonces potencia =
Nota: (1) Son valores arbitrarios usados nicamente para ejemplificar la aplicacin de los operadores difusos.
La parte de la regla 1 combina las condiciones distancia = media y ngulo = positivo-pequeo, definiendo la validez de la regla en la situacin presente. En lgica convencional, la combinacin de las dos condiciones se puede evaluar mediante la funcin Boleana AND. En el caso de la lgica difusa no se puede utilizar la funcin
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Inferencia difusa
22
Instituto de Ingeniera
Boleana AND, por que esta no maneja valores intermedios entre 0 y 1. En este caso se definen conectivos lgicos AND, OR y NOT representados en La Tabla 6.1. AND A B(u) = min { A(u), B(u)} OR NOT A B(u) = max { A(u), B(u)} (u) = 1- (u)
Continuando con el ejemplo, se aplica el Operador AND a los antecedentes de las reglas 1, 2 y 3 obtenindose el siguiente resultado: AND OR NOT Min (0.9; 0.8) = 0.8
Se aprecia, que las reglas 1 y 3 tienen la misma etiqueta de salida, pero diferentes grados de verdad. En lgica difusa, las reglas que tienen el mismo consecuente se evalan mediante un operador OR, representado mediante el operador matemtico max. Lo anterior es parte del mtodo MIN/MAX, llamado composicin, que define los valores difusos de salida, para que posteriormente sean utilizados en el proceso de defusificacin. El resultado final del ejemplo es el siguiente: Salida Cero = 0.2
6.3.4 DEFUSIFICACIN
Bsicamente este proceso [16-17], es un mapeo de un espacio de acciones de control difuso definido sobre un Universo de discurso de salida, en un espacio de acciones de control no-difuso (valores precisos), siendo muy importante esta Interfaz, ya que la mayora de las aplicaciones prcticas de control requieren variables numricas. De las estrategias ms usadas de pueden mencionar las siguientes:
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
23
Instituto de Ingeniera
Mtodo del criterio mximo. Mtodo del promedio mximo. Mtodo del centro de reas.
Esta estrategia genera una accin de control la cual es el promedio de todas las acciones de control cuyos grados de pertenencia alcanzan el valor mximo. Concretamente en el caso de un universo discreto, la salida de control puede definirse por medio de la siguiente ecuacin:
Zo=
j =1
Wj I
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
(6.7)
Donde wj es el valor central de la etiqueta lingstica j para la cual la funcin de membresa alcanza el mximo valor z(Wj) y I es el nmero de etiquetas que alcanzan el valor mximo.
Es una de las estrategias ms utilizadas [18], se calcula el centro de gravedad de la distribucin de las salidas de control difuso para obtener la seal de control, la cual se aplica al sistema a controlar. Para el caso de un Universo discreto, la salida defusificada se puede obtener mediante la siguiente expresin:
Zo=
j =1
zz (W j ). W j
j =1
(6.8)
(W j )
donde n es el nmero de niveles de cuantizacin del universo de salida y z es una funcin de pertenencia de salida resultante. Este mtodo corta la funcin membresa de los respectivos trminos lingsticos, de acuerdo con sus valores de pertenencia,
24
Instituto de Ingeniera
formando reas nuevas las cuales son sobrepuestas para formar una sola. Balanceando esta rea se obtiene el valor preciso de salida. Lo anterior se ilustra por medio de la siguiente figura.
1 0.7
0.3 25
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
28.5 30
(Temp.)
Como ejemplo de la aplicacin de esta estrategia se consideran los datos que se muestran en la figura anterior, y por medio de la siguiente ecuacin, se obtiene la salida.
Salida =
Instituto de Ingeniera
solucin potencial de cualquier problema es un individuo, que puede ser representado por medio de un conjunto de parmetros. Estos parmetros son vistos como los genes de un cromosoma y pueden ser estructurados por medio de una cadena de valores en forma binaria. En control automtico, muchos problemas pueden ser planteados como problemas de optimizacin, con una o ms funciones objetivo, sujeto a restricciones. funcin objetivo a la integral del valor absoluto de la seal del error (ndice de desempeo). En este caso, la funcin objetivo contiene a los parmetros de la planta y a los parmetros del controlador, que son los que se desean encontrar. Cada uno de los individuos de la poblacin, (cromosomas), sobre los cuales opera el algoritmo gentico, contiene a los parmetros del controlador que se desea disear. Si se tratara de un controlador P-I-D (Proporcional-Integral-Derivativo), entonces cada individuo contendra a las ganancias: proporcional, integral y derivativa. Estos individuos son evaluados por medio de la funcin objetivo con el fin de asignarles un valor que les califique su aptitud dentro del problema de optimizacin [14]. Despus de que los individuos son evaluados, el proceso contina con la etapa de seleccin, donde se mantienen y reproducen los individuos ms aptos, para que posteriormente se realicen los procesos genticos de cruzamiento y mutacin, en los cuales los individuos al cruzarse generan descendientes con nuevas caractersticas que dan variedad a la poblacin. La mutacin ocurre con una tasa de probabilidad baja, por lo que solo algunos de los individuos de la poblacin son alterados. Sin embargo estos pequeos cambios son suficientes para que el algoritmo pueda explorar todo el espacio de bsqueda y evitar converger hacia un mnimo o un mximo local. El proceso completo se realiza n veces con una poblacin inicial, creada en forma aleatoria, con m individuos. El nmero de iteraciones, as como el tamao de la poblacin son propuestas por el usuario. A continuacin se detallan cada una de las partes que componen el proceso gentico. As por ejemplo, en un problema de control retroalimentado, se podra plantear como
6.4.2 CODIFICACIN
En contraste con lo que sucede en estrategia evolutiva y programacin evolutiva. Los algoritmos genticos trabajan con cadenas de bits de extensin fija l. frecuentemente los algoritmos genticos se aplican en problemas de control ptimo
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
26
Instituto de Ingeniera
con parmetros que varan dentro de un rango continuo de valores [5 y 6]. El proceso de codificacin consiste en determinar el nmero de bits para representar a cada parmetro tomando como base los valores mnimo y mximo de los parmetros, as, como la resolucin deseada. El nmero de bits para codificar un parmetro se puede encontrar a partir de la siguiente ecuacin:
Donde
Ejemplo 6.1. Determinar el nmero de bits necesarios para codificar un parmetro contenido dentro del intervalo [-5,5] con una resolucin de 0.1. Aplicando la ecuacin 6.9 se tiene como resultado l =6.6582, sin embargo, el nmero de bits debe ser un valor entero, entonces se toma el nmero inmediato superior , que es en este caso siete, y dado que se modifica el valor de la resolucin deseada: el siguiente paso es recalcular el valor de la resolucin con el nuevo valor de l; despus del cambio l, los resultados son los siguientes: Resolucin 0.0787 l 7 bits
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
R=
U V 2l 1
(6.9)
-5 -4.9213 -4.8426 : . 5
27
Instituto de Ingeniera
El nmero total de bits que conforman cada una de las cadenas binarias es la suma de los nmeros de bits de cada parmetro, conocido como ancho de la cadena. El nmero de bits por cada parmetro y el ancho de la cadena sern necesarios para inicializar la poblacin, que es el siguiente paso del proceso gentico.
La poblacin de cadenas binarias, que representan a los parmetros, se genera aleatoriamente con una distribucin uniforme, sobre el espacio de bsqueda, a partir del conocimiento del nmero de bits de cada parmetro, el ancho de la cadena y el tamao de la poblacin. El tamao de la poblacin esta en funcin de la complejidad del problema a resolver, del ancho de las cadenas de la poblacin y de los recursos de procesamiento. Con un tamao pequeo existe poca probabilidad de encontrar la solucin y con poblaciones muy grandes se utiliza mucho tiempo de proceso.
Ejemplo 6.2. Inicializar una poblacin de tamao cinco, considerando los datos del Ejemplo 6.1.
Dado que la poblacin es creada aleatoriamente, se podra tener una poblacin como la siguiente
Poblacin Inicial Nmero de cadena
cadena 1
1 0 1 0 0 1 0
0 0 1 1 1 0 1
0 1 1 0 1 1 0
1 1 1 0 1 0 0
1 1 0 0 1 1 1
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
cadena 2
cadena 3
cadena 4
cadena 5
28
Instituto de Ingeniera
6.4.4 DECODIFICACIN
El proceso de decodificacin convierte cada uno de los individuos de la poblacin (Cadenas binarias), a sus respectivos valores reales, para ser evaluados a travs de una funcin objetivo. A los individuos representados por sus valores reales se les conoce como fenotipos. La decodificacin se puede realizar por medio del cdigo binario estndar o mediante la aplicacin de otros cdigos, por ejemplo: el cdigo grey, el cual presenta la ventaja principal de que para valores de parmetros solucin muy cercanos entre s, existen pocos cambios que representan a esos nmeros, lo cual se puede tomar como una ventaja sobre el cdigo binario estndar en la solucin de muchos problemas de optimizacin . A continuacin se presenta la ecuacin 6.10, para el caso binario estndar (ver por ejemplo en [3]).
vi u i l x 1 ai (l x j )2 j lx 2 1 j =0
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
(6.10)
(6.11)
Donde la relacin entre el cdigo binario estndar y el cdigo Grey est dada por la siguiente expresin.
Para mostrar la aplicacin de esta fase de decodificacin, se retoman los resultados del Ejemplo 6.1, utilizando el cdigo binario estndar y mediante la
29
Instituto de Ingeniera
ecuacin 6.10, se obtienen los valores reales de los parmetros (fenotipos). Los cuales son mostrados en la columna 3 de La Tabla 6.4.
Poblacin Cadena Valor Real
1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1
cadena 1
6.4.5 EVALUACIN
Se evala la funcin objetivo tomando como argumentos cada uno de los elementos de la poblacin (parmetros), es decir, los valores reales ya decodificados de cada una de las cadenas binarias. Durante este proceso se asigna una calificacin a cada elemento de la poblacin, que indica su grado de aptitud.
Reproduccin
La etapa de reproduccin est formada por tres fases: Seleccin, Cruzamiento y mutacin. Dentro de esta etapa se puede hacer uso de un parmetro adicional que es conocido como elitismo, que permite conservar los mejores elementos a travs de las ns generaciones [3 y 13].
6.4.6 SELECCIN
Este proceso permite seleccionar, en cada uno de los ciclos evolutivos, a los elementos de la poblacin con mejor valor de aptitud. Los mtodos de seleccin ms usados son los siguientes:
Torneo (tournament)
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
cadena 2 cadena 3 cadena 4 cadena 5
de
son seleccionados
30
Instituto de Ingeniera
almacenamiento conocido como mating pool. Este proceso se repite hasta que este arreglo es llenado con los mejores elementos.
Es una de las tcnicas de seleccin ms usada. Este mecanismo permite medida de aptitud [19]. Se obtiene la suma (Fs) de los valores de aptitud de cada uno de los individuos de la poblacin actual, donde los individuos son transformados en segmentos contiguos en el intervalo [0,Fs]. Por ejemplo, la circunferencia de la rueda de la ruleta en La figura 6.8, es la suma de los valores de aptitud de cinco individuos. El Individuo 5 es el que tiene el valor de desempeo ms alto y es el que ocupa el intervalo ms grande, en contraparte, el individuo 1 es el que tiene el desempeo ms pobre y por lo tanto, ocupa el espacio ms pequeo de la rueda de la ruleta. Para seleccionar un individuo, primero se genera un nmero de forma aleatoria, en el intervalo [0,Fs], entonces se selecciona un individuo cuyo segmento cubre el nmero aleatorio. El proceso se repite hasta que se alcanza el nmero de elementos deseado.
6.4.7 CRUZAMIENTO
Aunque la rutina de seleccin podra calificarse tambin como un operador. Los operadores de cruzamiento y mutacin constituyen la herramienta esencial que permite dotar a los descendientes de las mejores caractersticas de los padres. Para ilustrar la manera como trabaja el operador de cruzamiento, un mecanismo de cruzamiento de un punto es mostrado en la figura 6.9. Como puede verse, se fija aleatoriamente un punto de cruzamiento. Las porciones de los dos cromosomas que se encuentran a la derecha del punto de entrecruzamiento son intercambiadas para 31
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
1 2 5 3 4
seleccionar de manera aleatoria a los mejores individuos, tomando como base alguna
Instituto de Ingeniera
generar la descendencia. Una tasa funcional (pc) con un valor tpico de entre 0.6 y 1.0 es utilizada normalmente como la probabilidad de entrecruzamiento.
Cadenas padres
Descendientes
1000 1100
| Punto de cruzamiento
100 01110
01101110
Figura 6.9.
6.4.8 MUTACIN
El operador gentico de mutacin, se aplica a cada descendiente, de forma individual, despus del ejercicio de entrecruzamiento. Este proceso altera cada bit aleatoriamente con una pequea probabilidad (pm) con un valor tpico de menos de 0.1. Para ejemplificar este proceso, en la figura 6.10 se muestra a un individuo antes y despus de ser mutado.
Despus de mencionar cada una de las etapas principales de un algoritmo gentico simple, conviene presentar de manera esquemtica a los bloques que intervienen en el proceso gentico, as como el orden en la ejecucin del mismo. En Figura 6.11 se muestra el Algoritmo gentico simple.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
| Punto de cruzamiento
0110 1100
Proceso de cruzamiento
Nuevo Cromosoma
10010010
32
Instituto de Ingeniera
Inicio AG
Parmetros del AG
Poblacin Inicial
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Fenotipos
Evaluacin
Valores de Aptitud
Seleccin
Cruzamiento
Mutacin
Poblacin Actual
No
Si
Resultado ptimo
Fin
33
Instituto de Ingeniera
7. HIPTESIS DE ESTUDIO
El desempeo del controlador lgico difuso, aplicado al control de posicin de un servomotor de C.D., sintonizado con el algoritmo gentico simple ser mejor o igual que otro CLD sintonizado en base a la experiencia nicamente.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
34
Instituto de Ingeniera
r denota la seal de referencia de entrada e denota la seal de error de posicin u denota la seal de control y denota la seal de salida
G(s) denota un sistema lineal e invariante en el tiempo de una entrada-una salida El problema de control se define a continuacin:
Definicin 8.1. Problema de control de seguimiento ptimo (PCSO). A partir del esquema de control mostrado en La figura 8.1, encontrar un controlador lgico difuso (CLD), que minimice la seal de error e para una entrada de referencia r.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
u
Controlador difuso
G(s)
d/dt
35
Instituto de Ingeniera
El modelo del Servomotor experimental fue obtenido con los datos del fabricante, los cuales se presentan en el apndice de este documento. El modelo de la planta esta dado por la ecuacin 8.1.
G( s) = 65 s ( s + 31)
(8.1)
El controlador difuso tiene dos seales de entrada y una de salida, las entradas son: La seal de error de posicin y variacin de la seal de salida (velocidad angular), estas toman siete valores lingsticos: Negativo Grande (NG), Negativo Medio (NM), Negativo Pequeo (NP), cero (CE), Positivo Pequeo (PP), Positivo Medio (PM) y Positivo Grande (PG). La variable de salida tambin toma siete valores lingsticos: Negativo Grande (NG), Negativo Medio (NM), Negativo Pequeo (NP), cero (CE), Positivo Pequeo (PP), Positivo Medio (PM) y Positivo Grande (PG). El controlador difuso se disea con los conjuntos difusos presentados en Las Figuras 8.2, 8.3 y 8.4, en base a los valores lingsticos definidos.
NG 1 NM NP
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
CE PP -2 -1 0 1 2 3 NP CE PP -2 -1 0 1 2 3
PM
PG
0.5
-5
-4
-3
NG
NM
PM
PG
0.5
-5
-4
-3
36
Instituto de Ingeniera
NG 1
NM
NP
CE
PP
PM
PG
La funcin objetivo propuesta en esta tesis es el criterio de la Integral del Valor Absoluto, IAE (por sus iniciales en ingls), la cual est definida en la ecuacin 8.2, [11 y 15].
J1 =
e(t ) dt
0
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
0.5
(8.2)
La funcin objetivo dada por la ecuacin 8.2, es minimizada durante el proceso de optimizacin. El Criterio IAE se usa cuando se desea una respuesta buena a los cambios de la seal de referencia. As los valores de inters son: tiempo de crecimiento, mximo sobrepaso, tiempo de mximo sobrepaso, relacin de decaimiento y tiempo de establecimiento. Por simplicidad, se usa el cdigo binario, por lo que los valores: {Negativo Grande (NG), Negativo Medio (NM), Negativo Pequeo (NP), cero (CE), Positivo Pequeo (PP), Positivo Medio (PM) y Positivo Grande (PG)}, de la variable de control, se codifica como: 001, 010, 011, 100, 101, 110, y 111. En La Tabla 8.1 se presenta un ejemplo de un controlador difuso en particular, para el cual el cromosoma correspondiente sera: {100 110 111 111 101 101 101 101001 001 100}.
37
Instituto de Ingeniera
PN
Cada cromosoma tiene 147 nmeros binarios, que corresponden a los 49 consecuentes de un controlador difuso en particular. El algoritmo gentico opera con una poblacin de individuos, en la cual cada uno de estos (cromosoma), contiene los consecuentes de la base de reglas difusas. En parte inferior de La figura 8.5 se muestra un ejemplo de un cromosoma codificado.
Consecuente 1 (NM)
Durante la evaluacin de los individuos, el valor de aptitud de cada uno de ellos, se obtiene minimizando el criterio IAE (funcin objetivo), este valor se obtiene a travs de una simulacin en MATLAB, poblacin. por cada uno de los individuos de la
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
NS NS NB NB ZO NM NG NB NG
Consecuente 2 (PB)
Consecuente 49 (PB)
010
111
111
38
Instituto de Ingeniera
a 7, donde: Negativo Grande (NG)=1, Negativo Medio (NM)=2, Negativo Pequeo (NP)=3, cero (CE)=4, Positivo Pequeo (PP)=5, Positivo Medio (PM)=6 y Positivo Grande (PG)=7. En el arreglo presentado por La Matriz 8.3 se muestran los 49 consecuentes representados por cn.
c1 c8 c15 c 22 c 29 c 36 c 43
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
c2 c9 c3 c10 c4 c11 c5 c12 c6 c13 c16 c 23 c17 c 24 c18 c 25 c19 c 26 c 20 c 27 c7 c14 c 21 c 28 c 35 c 42 c 49
(8.3)
c 30 c 37 c 44
c 31 c 38 c 45
c 32 c 39 c 46
c 33 c 40 c 47
c 34 c 41 c 48
Para formar la base de reglas de un controlador difuso, se requieren los valores de los antecedentes, en este caso, Los Antecedentes 1 y 2, que se encuentran fijos en una matriz dentro de la funcin de MATLAB , como se muestra en la Matriz 8.4.
a12 a 2 2 c 2
# a144 a 2 44 c 44
% "
(8.4)
39
Instituto de Ingeniera
Los valores lingsticos de los antecedentes, corresponden a los valores enteros que se presentan a continuacin: Negativo Grande (NG)=1 Negativo Medio (NM)=2 Cero (CE) =4 Positivo Pequeo (PP)=5 Positivo Medio (PM)= 6 Positivo Grande (PG)= 7 Negativo Pequeo (NP)=3
Despus de que se tienen todos los datos de la matriz 8.4, la funcin de MATLAB a=addrule(a,ruleList), genera la base de reglas difusas del controlador [8], donde ruleLista, corresponde a la matriz 8.4.
Finalmente, junto con la base de reglas, los rangos de las variables de entradasalida, los datos de las funciones de membresa: la Funcin de MATLAB, tiene como salida una archivo MATLAB FIS (Fuzzy Inference System), que corresponde a una estructura donde se tienen todos los datos de inferencia difusa del sistema. Esta estructura FIS es utilizada en la simulacin por el esquema de control difuso. Despus de la simulacin se obtiene el valor del ndice de desempeo, el cual es enviado al algoritmo gentico, para continuar con el proceso. Para mayor claridad, el proceso completo se presenta en la figura 8.6.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
40
Instituto de Ingeniera
-Nm. Parmetros =49 -tamao poblacin=30 -resolucin de c/u param. -rango mximo c/u param. -rango mnimo c/u param. CODIFICACION Poblacin inicial (Cromosomas)
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Fenotipos
Valores de aptitud
Funcin MATLAB
DECODIFICACION (Fenotipos)
Ciclo de n iteraciones
EVALUACION SELECCIN
Nueva poblacin
(Cromosomas)
Estructura FIS
CRUZAMIENTO MUTACION
41
Instituto de Ingeniera
Despus de aplicar el procedimiento descrito en este captulo, se obtuvo la base de reglas que se presenta en la Tabla 8.2
1 2 3 4 5 6 7 8 9
If (error de posicin es PG) and (cambio de error es NG) then (salida de control es PP) If (error de posicin es PP) and (cambio de error es PM) then (salida de control es PG) If (error de posicin es PG) and (cambio de error es PM) then (salida de control es PG) If (error de posicin es PG) and (cambio de error es PG) then (salida de control es PG) If (error de posicin es PG) and (cambio de error es NP) then (salida de control es PP) If (error de posicin es PG) and (cambio de error es NM) then (salida de control es NG) If (error de posicin es PG) and (cambio de error es NG) then (salida de control es PM) If (error de posicin es PM) and (cambio de error es CE) then (salida de control es PP) If (error de posicin es PM) and (cambio de error es PP) then (salida de control es PG)
10 If (error de posicin es PM) and (cambio de error es PM) then (salida de control es NG) 11 If (error de posicin es PM) and (cambio de error es PG) then (salida de control es PP) 12 If (error de posicin es PM) and (cambio de error es NP) then (salida de control es PG) 13 If (error de posicin es PM) and (cambio de error es NM) then (salida de control es PG) 14 If (error de posicin es PM) and (cambio de error es NG) then (salida de control es PG) 15 If (error de posicin es PP) and (cambio de error es NG) then (salida de control es PM) 16 If (error de posicin es PP) and (cambio de error es NM) then (salida de control es PG) 17 If (error de posicin es PP) and (cambio de error es NP) then (salida de control es NG) 18 If (error de posicin es PP) and (cambio de error es CE) then (salida de control es PG) 19 If (error de posicin es PP) and (cambio de error es PP) then (salida de control es PG) 20 If (error de posicin es PP) and (cambio de error es PM) then (salida de control es PG) 21 If (error de posicin es PP) and (cambio de error es PG) then (salida de control es NG) 22 If (error de posicin es CE) and (cambio de error es NG) then (salida de control es PP) 23 If (error de posicin es CE) and (cambio de error es NM) then (salida de control es PM) 24 If (error de posicin es CE) and (cambio de error es NP) then (salida de control es PG) 25 If (error de posicin es CE) and (cambio de error es CE) then (salida de control es NG) 26 If (error de posicin es CE) and (cambio de error es PP) then (control-output is NG) 27 If (error de posicin es CE) and (cambio de error es PM) then (control-output is NG) 28 If (error de posicin es CE) and (cambio de error es PG) then (control-output is CE) 29 If (error de posicin es NP) and (cambio de error es NG) then (control-output is CE) 30 If (error de posicin es NP) and (cambio de error es NM) then (control-output is NG) 31 If (error de posicin es NP) and (cambio de error es NP) then (control-output is NM) 32 If (error de posicin es NP) and (cambio de error es CE) then (control-output is NP)
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
42
Instituto de Ingeniera 33 If (error de posicin es NP) and (cambio de error es PP) then (control-output is NM) 34 If (error de posicin es NP) and (cambio de error es PM) then (control-output is CE) 35 If (error de posicin es NP) and (cambio de error es PG) then (control-output is NG) 36 If (error de posicin es NM) and (cambio de error es NG) then (control-output is NG) 37 If (error de posicin es NM) and (cambio de error es NM) then (control-output is NM) 38 If (error de posicin es NM) and (cambio de error es NP) then (control-output is NP) 40 If (error de posicin es NM) and (cambio de error es PP) then (control-output is NG) 41 If (error de posicin es NM) and (cambio de error es PM) then (control-output is NM) 42 If (error de posicin es NM) and (cambio de error es PG) then (control-output is CE) 43 If (error de posicin es NG) and (cambio de error es NG) then (control-output is CE) 44 If (error de posicin es NG) and (cambio de error es NM) then (control-output is CE) 45 If (error de posicin es NG) and (cambio de error es NP) then (control-output is CE) 46 If (error de posicin es NG) and (cambio de error es CE) then (control-output is CE) 47 If (error de posicin es NG) and (cambio de error es PP) then (control-output is CE) 48 If (error de posicin es NG) and (cambio de error es PM) then (control-output is CE) 49 If (error de posicin es NG) and (cambio de error es PG) then (control-output is NG) 39 If (error de posicin es NM) and (cambio de error es CE) then (control-output is NG)
En la figura 8.7 se presenta el diagrama esquemtico que se uso para la simulacin de cada uno de los controladores difusos en el proceso de optimizacin usando un algoritmo gentico simple
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
43
Instituto de Ingeniera
Por medio del mtodo propuesto se obtuvo la matriz de datos (8.5), que contiene los 49 consecuentes del controlador difuso diseado.
5 5 6 5 1 4 1 7 7 7 5 4 6 7 4 5 7 7 7 7 4 7 7 7 4 6 7 4 4 4 1 4 2 3 2 1 4 2 3 4 4 2 1 1 1 1 1 1 4
Las curvas que se muestran en la figura 8.8, corresponden a la simulacin del controlador difuso diseado en esta investigacin. Con la finalidad de tener una referencia acerca del desempeo del controlador difuso, en la figura 8.8 se muestra tambin, la salida del sistema cuando se utiliza un controlador basado en la realimentacin de estados [4], cuyo vector de ganancia es: k=[4 -0.016].
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
(8.5)
44
Instituto de Ingeniera
En La figura 8.9 se puede apreciar la respuesta temporal del sistema ante una entrada de referencia escaln, donde se aprecia que la seal de salida alcanza el valor de la referencia sin sobre paso.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
45
Instituto de Ingeniera
Una vez desarrollada la base de conocimiento, ya sea en base a la experiencia o por el mtodo de optimizacin, sta, necesita ser organizada como una base de datos dentro de una seccin de memoria, para luego ser utilizada por el ncleo de inferencia del microcontrolador. Pero a su vez esta base de conocimiento tiene que cumplir, para el caso del microcontrolador MC9s12E, con un formato preestablecido.
estructura de una funcin de membresa. En La figura 8.11 se observa esta consideracin. En este caso la representacin seleccionada fue la forma triangular, por lo tanto podemos reconocer 4 caractersticas de esta representacin: los 2 puntos que delimitan la base y las 2 pendientes que conforman los lados del tringulo; con estos datos se crea la primera parte de la base de conocimiento.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
46
Instituto de Ingeniera
A partir de de la primera etiqueta, se comienza a reservar rea de memoria, la primera direccin es ocupada por el primer punto de la funcin de pertenencia (visto de izquierda a derecha), la siguiente direccin: el segundo punto, la siguiente direccin: la primera pendiente y la ultima direccin: la segunda pendiente. Este es el mismo procedimiento para cada una de las etiquetas lingsticas, por cada etiqueta. lo que las funciones de membresa, requieren un total de cuatro bytes de memoria por
Esta funcin de salida es de tipo singleton (ver Figura 8.12), por lo que cada etiqueta ocupa un byte de memoria.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
47
Instituto de Ingeniera
Reglas de inferencia Para poder definir las reglas se utiliza un mtodo de organizacin, que consiste en sealar el fin de cada una de las reglas, con un valor reservado; para los antecedentes y consecuentes tambin se hace uso de un separador. Cuando se esta ejecutando el programa, este separador afecta a uno de los bits del registro de antecedente o un consecuente o, si ha terminado la evaluacin de reglas. En la figura 8.12 se presenta un ejemplo de la codificacin de una regla difusa. condicin del microcontrolador (bit V), lo cual establece la diferencia entre un
Tambin, es necesario codificar cada uno de los componentes de las reglas de inferencia, como se muestra en la Tabla 8.3.
NG NM NP CE PP PM PG
$00 $01
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
NG NP PP PM PG $07 NM CE $08 $09 $0A $0B $0C $0D
NG NP CE PP
NM
PM PG
48
Instituto de Ingeniera
8.5. CRITERIO BASADO EN LA EXPERIENCIA PARA SELECCIONAR LAS REGLAS DEL CLD
La estrategia de control se combina principalmente de las siguientes sentencias: 1. Si error es PG y cambio de error es alguno entonces salida de control es PG 2. Si error es PP y cambio de error es PP CE entonces salida de control es PP 3. Si error es CE y cambio de error es PP entonces salida de control es CE 4. Si error es CE y cambio de error es NP entonces salida de control es NP
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
49
Instituto de Ingeniera
5. Si error es NP y cambio de error es NP entonces salida de control es NP 6. Si error es NG y cambio de error es alguno entonces salida de control es NG La Sentencia 1 implica una condicin general cuando la posicin actual con respecto a la referencia es grande. De esta manera se requiere una salida grande para cuando el error empieza a disminuir y el motor se aproxima a la posicin deseada. En este caso se requiere una salida pequea. La sentencia 3 presenta el caso cuando el error se est aproximando a cero. Sin embargo, hay que considerar la inercia del motor por lo que la salida debe ser cero para evitar el sobrepaso al mnimo. As mismo, la regla 4, se aplica cuando ocurre un sobrepaso. Entonces se aplica una salida pequea en sentido inverso, para regresar el eje del motor. La Sentencia 6 implica una condicin inversa de la regla 1. mover el eje del motor y alcanzar la salida deseada rpidamente. La regla 2 se aplica
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
50
Instituto de Ingeniera
9. RESULTADOS
Los resultados experimentales se obtuvieron por medio de un osciloscopio posteriormente, fueron graficados usando MATLAB. Los resultados corresponden a las respuestas de: Un sistema de control de posicin de un servomotor mediante un controlador lgico difuso (CLD), sintonizado mediante la experiencia adquirida y CLD sintonizado con un algoritmo gentico simple, lo cual permite comparar dichos resultados y demostrar que una sintonizacin en base a los algoritmos genticos proporciona un mejor desempeo. Ambos resultados son producto de las pruebas experimentales al sistema mediante un microcontrolador con un ncleo de inferencia de lgica difusa (MC9s12E128) y todas la mediciones fueron hechas directamente del sistema y trasladadas a la plataforma grafica de MATLAB.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
51
Instituto de Ingeniera
PG PM PP CE NP NM NG
PM PM PM NP
PG PG PG PG PG
PG PG PG PP
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
NP CE CE CE CE NG NG NG NG NG NG
PP
PP NP NP
NG
NM NG
En La figura 9.1 se presenta la seal de salida del sistema de control de posicin, que corresponde a la parte de subida de la seal cuadrada de referencia.
Salida difusa
Figura 9.1 Respuesta temporal del servomecanismo a una seal de Referencia cuadrada, parte de subida
52
Instituto de Ingeniera
En La figura 9.2 se presenta la seal de salida del sistema de control de posicin, que corresponde a la parte de bajada de la seal de referencia.
Figura 9.2 Respuesta temporal del servomecanismo a una seal de Referencia cuadrada, parte de bajada
En La figura 9.3 se presenta la seal de salida del sistema de control de posicin, que corresponde a la parte de bajada de la seal sinusoidal de referencia. En Esta figura se aprecia un ligero error en estado estable, cuando la seal de referencia pasa del valor mximo al valor mnimo.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Salida difusa
53
Instituto de Ingeniera
Figura 9.3 Respuesta temporal del servomecanismo a una seal de Referencia sinusoidal
PG PM PP CE NP NM NG
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
PG PM PG PM NM NM NM CE PP PG PP PM CE NM NM NG PG PG PM NM NG NP NG PG PG NP NP NP PG PM PM PP NP NP NP
PP
PM PM PM PP NP NP NG
PM PM PP NP NP NM
54
Instituto de Ingeniera
En La figura 9.4 se presenta la salida del servomecanismo cuando se aplica una seal cuadrada en la entrada de referencia. En esta figura se puede apreciar un sobrepaso pequeo en la parte de subida de la seal, aunque el tiempo de establecimiento es muy corto (aproximadamente 150 mseg.); En la parte de bajada de de aproximadamente 150 mseg, lo cual nos recuerda que el controlador difuso es un sistema no lineal. Cabe aclarar que el pico que se aprecia en la seal de salida se debe al ruido generado por las conexiones temporales durante la prueba.
Figura 9.4 Respuesta temporal del servomecanismo a una seal de Referencia cuadrada
En la figura 9.4 se muestra un excelente desempeo del controlador difuso diseado con el mtodo de optimizacin, comparado con el CLD diseado en base a la experiencia. Sin embargo este ltimo puede ser mejorado sustancialmente, incrementado el nmero de reglas y ajustando las mismas en base a prueba y error.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
55
Instituto de Ingeniera
En la figura 9.5 se muestra una seal triangular recortada, donde se aprecia error en estados estable.
Figura 9.5 Respuesta temporal del servomecanismo a una seal de Referencia triangular recortada
Finalmente, En la figura 9.6 se muestra una seal triangular, donde tambin se aprecia un ligero error en estados estable.
1.4
1.2
Referencia
0.8 salida
0.6
0.4
0.2
0 -2
-1.5
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Salida
-1 -0.5 0 0.5 tiempo (seg) 1
1.5
Figura 9.6 Respuesta temporal del servomecanismo a una seal de Referencia triangular
56
Instituto de Ingeniera
10. CONCLUSIONES
En base a los resultados obtenidos, se puede concluir que el mtodo de teniendo en cuenta que se us un algoritmo gentico simple de aplicacin general. De los resultados experimentales se puede observar que el controlador lgico difuso diseado, presenta un buen desempeo, como se puede apreciar en la figura 9.4. La repuesta del sistema de lazo cerrado, a los cambios de referencia, son rpidos; sin embargo en la figura 9.4, se observa que se obtiene una mejor respuesta en la parte de bajada de la seal, ya que la salida sigue a la referencia de forma suave y rpida, comparada con la parte de subida de la seal de referencia, donde se presenta un sobrepaso pequeo, aunque la respuesta completa no presenta error en estado estable. La respuesta del sistema real tiene un mejor desempeo que el que se presenta en las simulaciones, esto es debido a que el ajuste fino de la base de reglas, del controlador difuso se realiz, ajustando las reglas difusas, durante el proceso de las pruebas experimentales, tomando como base las reglas obtenidas mediante el mtodo de optimizacin. Como pruebas complementarias del CLD se aplicaron otras seales de prueba como son las seales triangular recortada y triangular, las cuales se pueden apreciar en las figuras 9.5 y 9.6 respectivamente. En las figuras 9.5 y 9.6 se observa un buen seguimiento de la seal de referencia, aunque se presenta un ligero error en estado estacionario. Lo anterior es debido a que el diseo del CLD se realiz para el seguimiento de seales cuadradas. Una desventaja de este mtodo para el diseo de controladores difusos es el tiempo de proceso, debido a que cada uno de los controladores que son evaluados, requiere de un tiempo de simulacin. En trabajos futuros su puede aplicar el procedimiento de optimizacin mostrado, a proceso ms complejos que el presentado en esta investigacin, donde se justifique plenamente la inversin de tiempo de mquina en el proceso de sintonizacin.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
57
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
ANEXO A
Instituto de Ingeniera
58
Instituto de Ingeniera
microcontrolador capaz de soportar instrucciones de lgica difusa, en este caso el microcontrolador MC9s12E128 con ncleo HCS12 de Motorola.
SIS9S2E
Contraste Display
Led Encendido
Este microcontrolador posee cuatro instrucciones que efectan los pasos necesarios en un controlador difuso (MEM, REV, REVW, WAV) las cuales determinan el grado de pertenencia, efectan la evaluacin de reglas y la defusificacin. Adems de stas, existen ms de 100 instrucciones que permiten al programador, implantar lazos de control en aplicaciones reales. Cuando se habla de sistemas de control es prcticamente inherente hablar de seales externas o del mundo real. Es decir para efectuar hasta el mas simple lazo de control es necesario obtener una seal del proceso a controlar. En este caso se necesita traducir la posicin del servomotor a una seal elctrica proporcional al desplazamiento angular, para esto, la planta esta equipada con un potencimetro que proporciona un voltaje variable dependiendo de la posicin del eje del motor. Para discretizar esta variable se microcontrolador. Efectuando este proceso de conversin Analgico-digital, el controlador difuso obtiene las entradas crisp, es decir el sistema ya puede generar una respuesta a partir 59 uso el convertidor analgico-digital del propio
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
Alimentacin Puerto Serial para comunicacin +9Vcd 0V 8/8/2005
J12 Usuario/Monitor
Instituto de Ingeniera
de condiciones reales. Pero esta respuesta, esta an dentro del microcontrolador, es decir, es an, una representacin binaria que poco significa para el proceso o la planta, es necesario entonces, de otro de los recursos del microcontrolador, el convertidor digital-analgico. Con este subsistema se pueden eliminar componentes externos y as, eliminar posibles errores en el sistema de control. limitaciones, aquellas que se refieren a las tensiones apropiadas para su funcionamiento correcto. Debido a que trabaja a niveles de voltaje del tipo TTL, los valores analgicos que maneja solo pueden fluctuar alrededor de estos valores, es decir de 0 a 5 voltios aproximadamente. Es en este momento que se requiere de algn tipo de acondicionamiento de seal; esto se solucion utilizando los amplificadores operacionales en sus diversas configuraciones (AOs). Utilizando los AOs tambin se soluciona cualquier efecto de carga indeseable que pudiera estar propiciando alguno de los sensores o el actuador mismo. El CLD requiere de dos variables de entrada, dos de las caractersticas dinmicas del sistema, que en este caso son la posicin y velocidad del motor. En el caso de la posicin, el sensor es un potencimetro de 5 K. En el caso de la velocidad, el sensor es un tacmetro. Con esta seal se tuvo especial cuidado debido a los cambios de sentido y las aceleraciones crecientes debido a que el voltaje pasaba de un valor pequeo a uno grande y de signo contrario y esto daara el convertidor del microcontrolador. Para corregir esto se utiliz una etapa de acondicionamiento a modo de sumador inversor como se muestra en La figura de 2. El primer AO funciona como atenuador inversor de la tensin de entrada y el segundo es el sumador inversor. A la salida de esta configuracin de amplificador obtenemos un voltaje variable de 0 a 5 voltios. Siguiendo con las caractersticas del microcontrolador cabe destacar sus
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
60
Instituto de Ingeniera
Como se mencion anteriormente, el sistema produce una respuesta a las condiciones actuales del sistema. Esta respuesta o voltaje no es el adecuado en valores de tensin ni de potencia para alimentar al motor del sistema. Se necesita de un sistema capaz de llevar los 0 y 5 voltios mximos, a niveles de (+)VCC y para que el mdulo de potencia opere satisfactoriamente. (-)VCC,
En las Figuras 3 y 4, se muestran estas configuraciones. El primer mdulo funciona como seguidor de tensin, para acoplar las impedancias entre el convertidor digitalanalgico del microcontrolador y la interfaz del segundo mdulo, el cual es un sumador no inversor.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
61
Instituto de Ingeniera
La familia de microcontroladores MC9s12E es una familia de bajo costo de propsito general, la cual tienen perifricos estndar, incluyendo la unidad central de procesamiento (CPU) HCS12, tiene 128K de flash, 8K de RAM, tres puertos Seriales SCI, un SPI, una interfaz buc IIC(IIC), tres temporizadores (TIM) de cuatro canales cada uno, 6 canales PWM de 15 bits con mdulo de proteccin por Falla (PMF), 16 canales del convertidor analgico digital, 16 ADC, y 2 convertidores de digital a analgico de 8 bits (DAC), Incluye un circuito PLL, que permite a cada perifrico un ahorro de energa de desempeo, segn la aplicacin. En adicin a los puertos I/O disponibles en cada mdulo, cuenta con 16 puertos I/O con la caracterstica de despertar (Wake-up), del modo de operacin STOP o WAIT, el integrado incluye un regulador interno que permite su operacin de 2.5V de un fuente externa de 3.15 a 5.5V. La comunicacin entre el sistema y la computadora se realiza a travs del programa: Serial monitor, que est previamente cargado en el sistema de desarrollo que permite la programacin y depuracin de programas a travs del puerto serie. El programa base es el CodeWarrior (Integrated Development Environment (IDE)), que provee un sistema de desarrollo de software flexible y eficiente.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
62
Instituto de Ingeniera
El
continuacin:
;***************************************************************** ;* This stationery serves as the framework for a ;* user application (single file, absolute assembly application) ;* For a more comprehensive program that ;* demonstrates the more advanced functionality of this ;* processor, please see the demonstration applications ;* located in the examples subdirectory of the * * *
ABSENTRY Entry ; for absolute assembly: mark this as application entry point ; include derivative specific macros INCLUDE 'mc9s12e128.inc' POT TACOM POT_REF TEMPORAL CURRENT_INS NUMINP NUMOUT DATOS ROMStart EQU $2000 EQU $2001 EQU $2002 EQU $2003 EQU $2004 EQU $02 EQU $01 EQU $3EFF EQU $4000
;***************************************************************** ; SECCIN DE VARIABLES/DATOS ORG $2006 ;***************************************************************** ;***************************************************************** ;***************************************************************** FUZ_INS FUZ_OUT COG_OUT RMB 7*NUMINP RMB NUMOUT RMB 7*NUMOUT
;***************************************************************** ; BASE DE CONOCIMIENTO ;***************************************************************** INPUT_MFS: FCB $00,$2B,$00,$06 FCB $00,$55,$06,$06 FCB $2B,$80,$06,$06 FCB $55,$AA,$06,$06 ;NG ;NM
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
* * * * ; RESULTADO FINAL
; VARIABLE DEL TACOMETRO ; VARIABLE DEL POTENCIOMETRO DE REFERENCIA ; ACONDICIONADOR DE LA SEAL DE ERROR
63
Instituto de Ingeniera
FCB $80,$D5,$06,$06 FCB $AA,$FF,$06,$06 FCB $D5,$FF,$06,$00 ; FCB $00,$2B,$00,$06 FCB $00,$55,$06,$06 FCB $2B,$80,$06,$06 FCB $55,$AA,$06,$06 FCB $80,$D5,$06,$06 FCB $D5,$FF,$06,$00 SGLTN_POS: FCB $2B FCB $55 FCB $80 FCB $AA FCB $D5 FCB $FF FCB $AA,$FF,$06,$06 ;NG
;************************************************************* ******************************************** RULE_START (2): FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $04 $0C $FE $14 $FE $06 $0C $FE $14 $FE $06 $0D $FE $13 $FE $05 $0A $FE $14 $FE ;PM ;CE ;(REGLA 4) ;PG ;PG ;PG ;(REGLA 3) ;PM ;PG ;PM ;(REGLA 2) ;PG ;PP ;PM ;(REGLA 1) ;PG
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
FCB $00 FCB FCB FCB FCB FCB $05 ;PM $0C $14 ;PM $FE ;(REGLA 6) ;PG $FE $05 FCB FCB FCB ;PM $0D $13 ;PG $FE ;(REGLA 7) FCB FCB ;PM $FE $04 FCB FCB FCB ;PP $0A $14 $FE $04 $0B $FE $14 $FE ;PP ;PP ;(REGLA 9) ;PG ;CE $FE ;(REGLA 8) ;PG FCB FCB FCB FCB FCB FCB FCB
FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB
$04 $0D $FE $13 $FE $01 $09 $FE $0E $FE $03 $08 $FE $12 $FE $03 $09 $FE $11 $FE
64
Instituto de Ingeniera
FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $05 $0B $FE $14 $FE $03 $0B $FE $11 $FE $03 $0C $FE $10 $FE $03 $0D $FE $10 $FE $02 $07 $FE $10 $FE $02 $08 $FE $0E $FE $02 $09 $FE $0E $FE $02 $0A $FE $0E $FE ;NP ;CE ;(REGLA 22) ;NG ;NP ;NP ;(REGLA 21) ;NG ;NP ;NM ;(REGLA 20) ;NG ;NP ;NG ;(REGLA 19) ;NP ;CE ;PG ;(REGLA 18) ;NP ;CE ;PM ;(REGLA 17) ;NP ;CE ;PP ;(REGLA 16) ;CE ;PM ;PP ;(REGLA 5) ;PG FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $04 $0C $FE $14 $FE $02 $0B $FE $11 ;NP ;PP ;(REGLA 23) ;CE ;PP ;PM ;(REGLA 10) ;PG FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $03 $0A $FE $11 $FE $00 $09 $FE $0E $FE $00 $0A $FE $0E $FE $02 $0B $FE $10 $FE $04 $09 $FE $12 ;PP ;NP ;(REGLA 33) ;PP FCB $FF ;NP ;PP ;(REGLA 32) ;NP ;NG ;CE ;(REGLA 31) ;NG ;NG ;NP ;(REGLA 30) ;NG ;CE ;CE ;(REGLA 15) ;CE
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
$FE $01 $07 FCB FCB FCB ;NM ;NG ;NP $FE $10 ;(REGLA 24) FCB FCB $FE $01 $08 FCB FCB FCB FCB FCB ;NM ;NM ;NM $FE $0F ;(REGLA 25) $FE $01 FCB FCB ;NM ;NP FCB FCB FCB $09 $FE $0E ;(REGLA 26) ;NG $FE $01 FCB FCB FCB FCB FCB ;NM ;CE $0A $FE $0E ;(REGLA 27) ;NG $FE $06 FCB FCB FCB ;PG $0A $14 $FE $00 $08 $FE $0E $FE ;NG ;NM ;(REGLA 29) ;NG ;CE $FE ;(REGLA 28) FCB FCB FCB FCB FCB FCB FCB ;PG
FCB FCB
FCB
END_OF_RULE:
65
Instituto de Ingeniera
Nota (2): Las reglas se ordenaron en tres columnas para una mejor presentacin, sin embargo las reglas en el lenguaje ensamblador se representan en una sola columna. ;***************************************************************** ; INICIO DEL PROGRAMA ;***************************************************************** ORG ROMStart BCLR DAC0_DACC0,DAC0_DACC0_DJM|DAC0_DACC0_DSGN|DAC0_DACC0_DACWAI BSET DAC0_DACC0,DAC0_DACC0_DACOE LDAA STAA CALL LDAA STAA LDAA STAA LDAA STAA LOOP: BRCLR LDAB STAB CLRB LDAB STAB CLRB LDAB STAB LDY BRA SALTA_D: LDY SALTA_U: LDAB CPY POT #$3FFF ; POSICION QUE INDICA EL ULTIMO DE LOS 256 VALORES TEMPORAL ATDDR2 POT_REF #DATOS SALTA_U ATDDR1 TACOM #$80 ATDCTL2 RETAR #$18 ATDCTL3 #$85 ATDCTL4 #$32 ATDCTL5
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
; HACE 3 CONVERSIONES ; DE LA POSICION ACTUAL ; DE LA VELOCIDAD ACTUAL
Entry:
66
Instituto de Ingeniera
;***************************************************************** ; ACONDICIONAMIENTO DE LAS SEALES DE ERROR ;***************************************************************** BEQ STAB INY LDAB IN_ERROR: LDAA SBA BMI ADDA STAA BRA CONTRA: NEGA TAB LDAA SBA STAA POS: LDAA LDAB SBA BMI LDAB MUL LDAA ABA BRA NEG_A: NEGA LDAB MUL LDAA SBA POSITIVE: STAA CURRENT_INS+1 #$80 #$03 POSITIVE #$80 NEG_A #$03 TACOM #$80 CURRENT_INS #$80 CONTRA #$80 CURRENT_INS POS POT_REF POT STY IN_ERROR 0, Y TEMPORAL
;***************************************************************** ; CLD (CONTROLADOR LGICO DIFUSO) SE OBTUVO DE [7] ;***************************************************************** FUZZIFY: LDX #INPUT_MFS LDY #FUZ_INS
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
67
Instituto de Ingeniera
LDAA CURRENT_INS LDAB #7 GRAD_LOOP: MEM DBNE B, GRAD_LOOP LDAA CURRENT_INS+1 LDAB #7 GRAD_LOOP1: MEM DBNE B, GRAD_LOOP1 LDAB #7 RULE_EVAL: CLR 1,Y+ DBNE B, RULE_EVAL LDX #RULE_START LDY #FUZ_INS LDAA #$FF REV DEFUZ: LDY #FUZ_OUT LDX #SGLTN_POS LDAB #7 WAV EDIV TFR Y, D STAB COG_OUT
;***************************************************************** ; CONVERTIDOR DIGITAL/ANALOGICO ;***************************************************************** INICIO: BSET DAC0_DACC0,#$80 BSET DAC0_DACC0,#$01 LDAA COG_OUT STAA DAC0_DACDLeft LBRA LOOP
; CICLO INFINITO
;***************************************************************** ; RETARDO NECESARIO EN LA CONVERSION ANALGICA/DIGITAL ;***************************************************************** RETAR: LDAA #200 TARDA: NOP RTC SWI ; 800 ciclos de reloj DBNE A, TARDA ; 200 lazos para
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
68
Instituto de Ingeniera
Como ya se mencion anteriormente, la nica limitante en el nmero de reglas es la memoria del microcontrolador, por lo que la maquina de inferencia difusa continua siendo la misma para cualquier nmero de reglas. Por lo que para comprobar el sistema basado en el mtodo de optimizacin, solo se cambiaron las reglas basadas en la experiencia por las sintonizadas mediante el algoritmo gentico.
RULE_START: REGLAS FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $06 $0d $FE (REGLA 1) $14 $FE $06 $0C $FE (REGLA 2) $13 $FE $06 $0b $FE (REGLA 3) $12 $FE $06 $07 $FE (REGLA 4) $13 $FE $06 $08 $FE (REGLA 5) $12 $FE $06 $0a $FE (REGLA 6) $14 $FE $05 $0D $FE (REGLA 7) $14 $FE
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
FCB $05 FCB FCB $0c $FE (REGLA 8) $14 FCB FCB $FE $05 FCB FCB $0B $14 FCB $FE (REGLA 9) FCB FCB $FE $05 $07 $13 FCB FCB FCB FCB $FE (REGLA 10) FCB $FE $05 $09 $13 FCB FCB FCB FCB $FE (REGLA 11) FCB $FE $05 $08 $13 FCB FCB FCB FCB $FE (REGLA 12) FCB $FE $05 FCB FCB $0a FCB FCB FCB FCB FCB FCB FCB FCB $F (REGLA 13) $12 $FE $04 $0d $FE (REGLA 14) $13 $FE
FCB FCB
$04 $0c $FE (REGLA 15) $13 $FE $04 $0B $FE (REGLA 16) $14 $FE $04 $07 $FE (REGLA 17) $13 $FE $04 $09 $FE (REGLA 18) $13 $FE $04 $08 $FE (REGLA 19) $13 $FE $04 $0a $FE (REGLA 20) $13 $FE $00 $0d $FE (REGLA 21) $0E $FE
FCB FCB
FCB FCB
FCB
FCB FCB
FCB
FCB
FCB
FCB FCB
FCB FCB
69
Instituto de Ingeniera
FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $00 $0c $FE (REGLA 22) $11 $FE $00 $0B $FE (REGLA 23) $14 $FE $00 $07 $FE (REGLA 24) $0e $FE $00 $09 $FE (REGLA 25) $10 $FE $00 $08 $FE (REGLA 26) $0f $FE $00 $0A $FE (REGLA 27) $0e $FE $01 $0d $FE (REGLA 28) $10 $FE $01 $0c $FE (REGLA 29) $0E $FE FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $01 $0b $FE (REGLA 30) $0E $FE $01 $07 $FE (REGLA 31) $0E $FE $01 $09 $0f FCB FCB FCB FCB FCB FCB FCB FCB FCB $02 $07 $FE (REGLA 38) $10 $FE $02 $09 $FE (REGLA 39) $10 $FE $02 $08 $FE (REGLA 40) $10 $FE $02 $0a $FE (REGLA 41) $0f $FE $03 $0d $FE (REGLA 42) $0f $FE $03 $0c $FE (REGLA 43) $0f $FE $03 $0b $FE (REGLA 44) $10 $FE $03 $07 $FE (REGLA 45) $12 $FE
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
FCB FCB FCB $FE (REGLA 32) FCB FCB $FE $01 FCB FCB FCB FCB $08 $0e $FE (REGLA 33) FCB $FE $01 FCB FCB FCB $0a $FE (REGLA 34) $0E FCB FCB $FE $02 FCB FCB $0d $0e FCB $FE (REGLA 35) FCB FCB $FE $02 FCB FCB FCB $0c $0f $FE (REGLA 36) FCB FCB FCB FCB FCB FCB FCB $FE $02 $0b $FE (REGLA 37) $10 $FE
FCB FCB
FCB FCB
FCB FCB
FCB FCB
FCB FCB
70
Instituto de Ingeniera
FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB FCB $03 $09 $FE (REGLA 46) $12 $FE $03 $08 $12 $FE $03 $0A $FE (REGLA 48) $11 $FE $FE (REGLA 47)
END_OF_RULE: FCB
$FF
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
71
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
ANEXO B
Instituto de Ingeniera
72
Instituto de Ingeniera
Motor/ Carga Parmetros del motor Resistencia de armadura Inercia del motor Viscosidad del motor
Constante de fuerza electromotriz Constante del par Parmetros de la carga Inercia de la carga Factor de viscosidad Sensores Velocidad Frecuencia de rizo Inercia de armadura Linealidad Salida del tacmetro
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
3.77 Ohms 0.0054 0z-in-seg2 0.5445 oz-in/rad/seg 0.12032 volts/rad/seg 0.12032 volts/rad/seg
11.0 Hz/rev 0.001 oz-in-seg2 0.2% 0.003 volts/rpm 2200 ohms 0.0026 henries 20000 rpm 11500 Ohms
17X 8 X 10 12 lbs.
73
Instituto de Ingeniera
REFERENCIAS
[1] Ash R. Real Analysis and Probability, Ed. Academic Press, USA, 1970. [2] strm, K.J. and T. Hgglund, PID Controllers: Theory, Design, and Tuning, Second Edition, Instrument Society of America, Research Triangle Park, NC, 1995. [3] Bck Thomas, Evolutionary Algorithms in theory and practice, Oxford University Press, 1996 [4] Chi-Tsong Chen, Linear System Theory and Design, Oxford University Press, Third Edition, 1999 [5] Coello-Coello Carlos A., David A. Van Veldhuizen, and Gary B. Lamont, Evolutionary Algorithms for Solving Multi-Objective Problems, Kluwer Academic Publishers, 2002. [6] Carlos A.
Coello-Coello,
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
An Update Survey
of
Evolutionary-Based
Multiobjective Optimization Techniques: State of the Art and Future Trends. In 1999 Congress on Evolutionary Computation. Washington, D.C. IEEE Service Center, 1999, pp. 3-13.
[8] Fuzzy Logic Toolbox users guide, Mathworks Inc., USA, 2007. [9] Holland John H. Adaptation in Natural and Artificial Systems, Massachusetts Institute Technology, Third printing, 1994. [10] Hopgood Adrian A., Intelligent Systems for Engineers and Scientists, CRC press, 2001 [11] Jing Yuan Zhang and YeDe Li, Application of Genetic Algorithm in optimization of Fuzzy Control Rules, Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications, (ISDA06), 2006.
74
Instituto de Ingeniera
[12] Karr C.L, Design of a Adaptive fuzzy logic controller using a genetic algorithm, Proceedings of the Fourth International Conference, Belew, R. and Brooker, L, Eds., Morgan Kaufmann, San Mateo California, 1991. [13] Kuri Morales Angel, A Comprehensive Approach to Genetic Algorithms in Optimization and Learning Theory and applications, Instituto Politecnico Nacional, Mxico,volume 1, 1999 [14] Lagunas R., Fernndez_Anaya G. and Martnez Garca J.C. Experimental Evaluation of a Mixed H2/H-Based PID Using Genetic Algorithms, Proceedings of the IASTED International Conference, Circuits, Signals and Systems, May 19-21, Cancun Mxico, 2003 [15] Lagunas-Jimnez R. and Pitala-Daz N. Tuning Fuzzy Control Rules via Genetic Algorithms, Electronics, Robotics, and Automotive Mechanics Conference, Cuernavaca, Morelos, Mxico, september (CERMA), 2007. [16] Lee C.C., Fuzzy Logic in Control Systems: Fuzzy Logic en Controller-Part 1, Transactions on Systems, Man, and Cybernetics, Vol. 20, No. 1, pp. 404-418.Mar/apr 1990 [17] Lee C.C., Fuzzy Logic in Control Systems: Fuzzy Logic en Controller-Part , Transactions on Systems, Man, and Cybernetics, Vol. 20, No. 2, pp. 419-435, .Mar/apr 1990 [18] Li Y. F. and Lau C.C., Development of Fuzzy Algorithms for Servo Systems, IEEE Countr. Syst. Mag., vol. 9 No. 3 pp. 65-72, 1989 [19] Liu G.P. Yang J.B. and Whidborne
[20] Mamdani, E. H. Application of Fuzzy Algorithm for Control of Simple Dynamic Plant Proc. IEE Vol 121, N 12, pp 1585-1588, 1974. [21] Mamdani, E. H.and assilian A Fuzzy Logic Controller for a Dynamic Plant Intl. J. Man Machine stud., pp. 1-13, 1975.
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
75
Instituto de Ingeniera
[22] Man K.F., Tang K.F. and Kwong S., Genetic Algorithms, Springer-Verlag, Great Britain, 1999 [23] Mo Jamshidi, Leandro dos Santos Coelho, Renato A. Krohling and Peter J. Fleming, Robust Control Systems with Genetic Algorithms, CRC Press, 2003. [24] Passino M. K., Yurkovich S., Fuzzy Control, Addison-Wesley, USA, 1998.
[25] Witold Pedrycz, Fuzzy control and Fuzzy systems, John Wiley & Sons Inc. second edition, 1996
[26] Von Altrock C., Fuzzy Logic and NeuroFuzzy Applications Explained, Prentice Hall PTR, United States of America, 1995. [27] Zadeh L.A., Fuzzy Sets, Information and Control, Vol. 8, No. 3 pp. 338-353, june 1965. [28] Zadeh L.A., Communication Fuzzy Algorithms, Information and Control, Vol. 12 pp. 94-102 USA, 1968. [29] Zadeh Lotfi. Outline of a New Approach to the Analysis of Complex Systems and decision Processes, IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-3, No. 1 January 1973 [30] Zilouchian Ali and Jamshidi Mo, Intelligent Control Systems Using Soft Computing Methodologies, CRC Press 2001
Instituto de Ingeniera Universidad Veracruzana Tesis de Maestra 2007 Ing. Ren Jimnez Madrigal
76