Centro de enseñanza LANIA Evolución Diferencial para el Control de un Motor de Corriente Directa Bajo Incertidumbre Paramétrica TESIS Que presenta: I.S.C. José Yaír Guzmán Gaspar Para obtener el grado de Maestro en Computación Aplicada Dirigido por: Dr. Efrén Mezura Montes Dr. Miguel Gabriel Villarreal Cervantes Dra. Cora Beatriz Excelente Toledo Xalapa, Veracruz, México Febrero, 2015. Agradecimientos A Dios, por darme la vida y acompañarme en cada momento. A mis padres, Gustavo y Felicitas, por su gran apoyo, por su paciencia, y por sus consejos y enseñanzas que me han dado siempre para salir adelante. A mi hermano Gustavo, por su conanza y su apoyo. A mis hijos, Narayani y Yaír, por esa alegría, esa luz que aportan a mi vida y ser la razón para superarme día tras día. A mi esposa, Fabiola, por acompañarme e impulsarme durante toda mi carrera para la culminación de la misma. Al doctor Efrén y al doctor Miguel, por compartir su conocimiento, sus ideas, así como por todo el apoyo y el tiempo que me brindaron para poder concluir esta tesis. A la Doctora Cora por el tiempo brindado y sus observaciones realizadas durante la elaboración de la tesis. A mis compañeros de la MCA, por su amistad y por haber compartido una experiencia muy grata durante la carrera. A LANIA, por las facilidades en el desarrollo de mi investigación. Finalmente, se agradece el apoyo del Consejo Nacional de Ciencia y Tecnología bajo el proyecto 182298 y de la Secretaría de Investigación y Posgrado del Instituto Politécnico Nacional bajo el proyecto 20151212. iii Resumen En este trabajo de investigación se propone un control adaptable de un motor de corriente directa bajo incertidumbre paramétrica basado en un algoritmo bio-inspirado. Esta propuesta se encuentra basada en un algoritmo de evolución diferencial. En esta investigación se demuestra la disminución del error de seguimiento de la velocidad deseada, utilizando un controlador basado en un algoritmo bio-inspirado, en comparación con el error obtenido utilizando técnicas clásicas de control, particularmente con el controlador proporcional-integral. Para los experimentos realizados en este trabajo se utilizan dos problemas clásicos de control (regulación y seguimiento). v Lista de acrónimos CAED: control adaptable basado en evolución diferencial CD: corriente directa CE: computación evolutiva CIEA: criterio de integridad de error absoluto CIEAT: criterio de integridad de error absoluto por tiempo CIEC: criterio de integridad de error cuadrático CTBP: current-to-best/penalización CTBRD: current-to-best/regla de Deb ED: evolución diferencial PI: proporcional-integral vii Índice general 1. Introducción 1.1. 1.1.1. 1.2. 1 Planteamiento del problema Formulación del problema Objetivos 1.2.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Justicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5. Organización del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Análisis dinámico y sistema de control del motor de CD 2.1. 2.2. 2.3. 7 Estructura física . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1. Análisis del circuito eléctrico . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.2. Análisis dinámico de momentos 2.2.3. Modelo dinámico del motor en variables de estado . . . . . . . . . . . Sistema de control por dinámica inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Formulación del problema de control adaptable 10 11 12 13 3.1. Variables de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2. Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4. Planteamiento del problema de optimización . . . . . . . . . . . . . . . . . . 15 4. Computación Evolutiva 4.1. 4.1.1. 4.2. . . . . . . . . . . . . . . . . . . . . Elementos del Algoritmo Evolutivo Evolución diferencial 4.2.1. 4.3. 17 Introducción a la computación evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variantes de la ED 17 17 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Manejo de restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5. Resultados 25 5.1. Diseño experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Análisis de comportamiento del algoritmo de optimización . . . . . . . . . . 27 5.3. Análisis de resultados comparativos con otra técnica de control . . . . . . . . 31 ix 25 x ÍNDICE GENERAL 5.3.1. 5.3.2. Control proporcional-integral . . . . . . . . . . . . . . . . . . . . . . 31 Comparativa entre el controlador PI y el controlador CAED basado en el algoritmo CTBRD . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Conclusiones y Trabajo Futuro 31 37 6.1. Observaciones nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.2. Trabajos Futuros 38 Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Índice de guras 1.1. Diagrama eléctrico del motor 1.2. Diagrama mecánico del motor . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3. Diagrama del sistema dinámico . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Motor de CD de imán permanente . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Diagrama del circuito del motor . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3. Momentos del motor 3.1. Diagrama del sistema dinámico 4.1. Pseudocódigo de un algoritmo evolutivo. . . . . . . . . . . . . . . . . . . . . 18 4.2. Cruza Binomial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3. Recombinación y mutación. 20 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 10 13 Algoritmo DE/rand/1/bin. randint(min,max) es una función que regresa un numero entero entre min y max. rand[0,1] es una función que regresa un número real entre 0 y 1. NP, MAX_GEN, CR y F son parámetros denidos por el usuario. D es la dimensión del problema. . . . . . . . . . . . . . . . . . . . . 21 5.1. Grácos comparativos entre algoritmos . . . . . . . . . . . . . . . . . . . . . 30 5.2. Problema de Regulación 1: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 5.3. 33 0s ≤ t ≤ 6s. . . . . . . . . . . . . . . . . . . . . . . 34 Problema de Seguimiento 1: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 5.5. . . . . . . . . . . . . . . . . . . . . . . Problema de Regulación 2: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 5.4. 2s ≤ t ≤ 4s. 2s ≤ t ≤ 4s. . . . . . . . . . . . . . . . . . . . . . . 34 Problema de Seguimiento 2: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 0s ≤ t ≤ 6s. xi . . . . . . . . . . . . . . . . . . . . . . 35 Índice de tablas 3.1. Límites de los parámetros del sistema de control . . . . . . . . . . . . . . . . 14 4.1. Principales modelos de la ED 22 5.1. Parámetros nominales del motor, donde constante de par, de armadura, ke b0 TL ke Ra es la carga o par del motor. Parámetros reales dinámicos del motor, donde de armadura, b0 J0 La es la . . . . . . . . . . Ra es la carga o par del motor. es la es la resistencia km 26 es es la resistencia es la constante de la fuerza contra-elctromotriz, TL km es la inercia del motor, es el coeciente de fricción viscosa, inductancia de armadura y 5.4. es la inercia del motor, es la constante de la fuerza contra-elctromotriz, la constante de par, 5.3. J0 es el coeciente de fricción viscosa, inductancia de armadura y 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . La es la . . . . . . . . . . 27 Parámetros calibrados por la herramienta i-Race . . . . . . . . . . . . . . . . 28 Tabla de resultados: a)Regulación 1, b) Regulación 2, c) Seguimiento 1, d) Seguimiento 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.5. Resultados de las pruebas de Kruskall Wallis y Friedman 29 5.6. Resultado de la prueba de Wilcoxon . . . . . . . . . . . . . . . . . . . . . . . 30 5.7. Resultados de los criterios de desempeño de los controladores PI y CAED . . 32 xiii . . . . . . . . . . . xiv ÍNDICE DE TABLAS Capı́tulo 1 Introducción En diversas aplicaciones es de vital importancia considerar sistemas de control con un alto desempeño en sus actuadores. El motor de corriente directa (CD) es una parte crucial para el movimiento de sistemas electromecánicos, como por ejemplo en robots manipuladores [1], en mesas xyz [2], etc. El estudio de estrategias de control en los motores de CD que logran alta precisión y alta exactitud ha sido siempre de interés [3], [4]. Una de los problemas que presenta todo sistema de control en un sistema electromecánico es el de compensar adecuadamente las incertidumbres paramétricas en el sistema, tales como, la carga a manejar por un robot, supercies rugosas a pulir, valores de parámetros que cambian con la temperatura, cambios en la masa del sistema (vehículos), etc. En un amplio sentido, las incertidumbres paramétricas se pueden agrupar en i) Aquellas dadas por inexactitudes en el modelo (no se consideran algunas dinámicas no lineales) y ii) aquellas en donde se desconocen con exactitud algunos parámetros físicos del sistema. En este documento de tesis se está considerando la segunda opción, es decir, no se conocen con exactitud los parámetros físicos y donde además, que éstos podrían variar con respecto al tiempo. Los esquemas de control adaptable en donde se incorpora alguna estrategia de estimación de parámetros de la planta en la ley de control se han estudiado ampliamente desde hace algunas décadas atrás, con el propósito de mejorar el desempeño del controlador, ante incertidumbres paramétricas [5], [6], [7], [8]. La estimación o actualización de los parámetros en línea se obtiene a través del uso de la propiedad de linealidad paramétrica en el modelo del sistema y considerando métodos de estimación basados en el gradiente o en mínimos cuadrados [9], [10], [11]. Una referencia actual en donde se aplica este tipo de control se encuentra en [12], en donde el esquema de control adaptable se implementa a un robot paralelo con el propósito de mejorar el desempeño en el error de posición cuando maneja diferentes cargas. Sin embargo cuando el sistema presenta un alto grado de incertidumbre, la actualización de los parámetros en línea del esquema de control adaptable tiende a converger a mínimos locales, lo que resulta en un error considerable en el posicionamiento del sistema. Por otra parte, recientemente, la computación bio-inspirada como algoritmos evolutivos o algoritmos de inteligencia colectiva han sido aplicados con éxito en problemas del mundo real en el área de control automático. El incremento en el uso de algoritmos bio-inspirados en la sintonización óptima del sistema de control se debe a que éstos trabajan con una población de individuos (posibles soluciones), la convergencia hacia un valor cercano al óptimo suele ser 1 2 CAPÍTULO 1. INTRODUCCIÓN mejor en comparación con técnicas basadas en el gradiente y no presentan inconvenientes al utilizarlos en problemas discontinuos. Algunos trabajos al respecto son: en [13] se incorporan algoritmos evolutivos para sintonizar fuera de línea los parámetros de un controlador PID en una planta de columna de destilación. En [14] se propone un control de búsqueda de extremo basado en el algoritmo de optimización de cúmulo de partículas. En [15] se establece formalmente el enfoque de diseño integrado robusto para sistemas mecatrónicos. El caso de estudio al que se le aplicó este enfoque es a un robot de cinco eslabones planar con un controlador PID. Se considera encontrar la estructura mecánica y las ganancias del sistema de control de tal manera que el diseño resultante sea tan insensible como sea posible a incertidumbres en la carga que soporta el efector nal. Se utiliza el algoritmo de evolución diferencial para resolver el problema. En [13] se han implementado algoritmos evolutivos para sintonizar fuera de línea los parámetros de un controlador PID. En [16] se aplica un algoritmo de forrajeo de bacterias para la identicación y control de un motor de corriente continua. En [17] se presenta un controlador difuso basado en un algoritmo genético para el control de velocidad de un motor síncrono de imán permanente. Por tal motivo, en este trabajo se propone un esquema de control adaptable de un motor de CD en donde se utiliza un control por dinámica inversa y se estiman los parámetros del sistema de control en línea a través de la solución de un problema de optimización con base en el algoritmo de evolución diferencial. Las principales aportaciones de este trabajo son: i) se establece formalmente el problema de optimización dinámica para estimar los parámetros del controlador en línea, en donde el error entre el sistema real y estimado sea el menor, sujeto a límites en la señal de control, ii) se realiza un análisis empírico comparativo entre diferentes variantes de evolución diferencial con el propósito de observar el más adecuado que garantice que el error sea mínimo en el seguimiento de una trayectoria ante variaciones en los parámetros de la planta, y iii) se realiza un comparativo de desempeño entre el controlador PI y la variante de evolución diferencial que obtuvo el mejor resultado. 1.1. Planteamiento del problema El modelo dinámico de un motor de corriente directa (CD) puede ser representado mediante ecuaciones diferenciales, en el cual una serie de variables de estado intereren directamente a su funcionamiento. En las Figuras 1.1 y 1.2 se muestra el diagrama eléctrico y mecánico que compone un motor de CD. 1.1. 3 PLANTEAMIENTO DEL PROBLEMA Figura 1.1: Diagrama eléctrico del motor Figura 1.2: Diagrama mecánico del motor Las ecuaciones diferenciales que lo representan se encuentran expresadas en la Ec. (1.1) donde Vin es el voltaje de entrada de armadura, la inductancia de armadura, corriente de armadura, b0 ke Ra es la resistencia de armadura, es la constante de la fuerza contra-electromotriz, es el coeciente de fricción viscosa referido a la echa, inercia del motor referida a la echa del motor, τL es el par de carga, y qm , q̇m ia J0 La es es la es la son las posiciones, velocidades y aceleraciones angulares del rotor respectivamente. dia + Ra ia + ke q̇m = Vin dt dq̇m + bo q̇m + τL = km ia Jo dt La p6 = τL , el modelo dinámico se puede J0 dia + p4 ia + p3 q̇m = p5 Vin dt dq̇m + p1 q̇m + p6 = p2 ia dt (1.2) b0 k k , p2 = m , p3 = e , J0 J0 La representar como en la Ec. (1.2) Si p1 = (1.1) p4 = Ra , La p5 = 1 , La 4 CAPÍTULO 1. Sea el estado x = [qm q̇m ia ]T INTRODUCCIÓN u = Vin , el modelo dinámico del motor CD ẋ = f (x(t), u(t), p) mostrado en la Ec.(1.3). y la entrada variables de estado, queda expresada como ẋ1 0 1 0 x1 0 0 ẋ2 = 0 −p1 p2 x2 − p6 + 0 u ẋ3 0 −p3 p4 x3 0 p5 El sistema de control por dinámica inversa se muestra en la Ec. (1.4), donde ė = ẇr − x̄2 y wr , ẇr, ẅr en (1.3) e = wr − x¯1 , es la trayectoria deseada en velocidad, aceleración y la derivada de la aceleración respectivamente. J0 La ũ = km 1.1.1. b0 ẅr + kp e + kd ė + J0 km b0 τL x3 − x2 − J0 J0 J0 + ke x2 + Ra x3 (1.4) Formulación del problema El problema de optimización dinámica en línea (ver Figura 1.3) trata de encontrar los parámetros estimados de salida del sistema p̄ de un motor de CD en línea tal que minimice el error e entre la señal real x y del sistema estimado x̄, sujeto a la restricción propia de la dinámica del sistema real y el sistema estimado, así como los límites en la señal de control, para así proporcionar un buen desempeño en el sistema de control. En el problema presentado se busca minimizar la diferencia entre los parámetros reales y estimados del motor de CD, sujeto a las restricciones propias del sistema real y estimado, así como las condiciones iniciales y los límites de la señal de control. Figura 1.3: Diagrama del sistema dinámico 1.2. Objetivos 1.2.1. Objetivo general Desarrollar y aplicar al menos una técnica metaheurística en la estimación óptima de los parámetros del sistema de control, enfatizando la ecacia del algoritmo para obtener una solución competitiva y su eciencia en el tiempo computacional. 1.3. HIPÓTESIS 5 Objetivos especícos Aplicar una técnica metaheurística en el problema. Incorporar alguna modicación para mejorar el desempeño del algoritmo. Analizar los resultados obtenidos desde el punto de vista computacional . Analizar los resultados desde el punto de vista ingenieril. 1.3. Hipótesis Se podrá mejorar el desempeño del sistema de control de un motor de corriente directa bajo el efecto de incertidumbres en los parámetros de la planta, con respecto a técnicas clásicas de control, al utilizar un controlador que requiera la estimación de sus parámetros mediante la solución de un problema de optimización por medio de un algoritmo evolutivo llamado evolución diferencial, entendiéndose con mejorar el desempeño del sistema de control como mantener la velocidad deseada en el motor. 1.4. Justicación Los problemas de optimización multiobjetivo no son problemas que se resuelven fácilmente por métodos clásicos de optimización. Este tipo de problemas puede ser resuelto mediante métodos aproximados como las metaheurísticas [18]. En el presente trabajo se va a utilizar un algoritmo evolutivo llamado evolución diferencial, dada la no linealidad presente en el problema optimización que se aborda y dado que estos algoritmos pueden encontrar soluciones satisfactorias a problemas complejos. Cabe destacar que el algoritmo que se implementará trabajará en línea, lo cual es todo un reto, ya que los algoritmos evolutivos no suelen ser muy usados de esa manera, puesto que requieren de tiempo para trabajar y obtener sus resultados competitivos [19]. 1.5. Organización del documento En el capítulo 2 se presenta el análisis dinámico y sistema de control de un motor de corriente directa CD. En el capítulo 3 se plantea la formulación del problema de diseño de control adaptable. En el capítulo 4 se realiza una breve introducción a la computación evolutiva y a la evolución diferencial. En el capítulo 5 se observan los resultados experimentales. En el capítulo 6 se proporcionan las conclusiones pertinentes en este trabajo de investigación, además, se proporcionan algunas perspectivas para trabajos futuros. 6 CAPÍTULO 1. INTRODUCCIÓN Capı́tulo 2 Análisis dinámico y sistema de control del motor de CD El motor de corriente directa CD es un transductor que convierte la energía eléctrica en energía mecánica. En general el campo magnético de un motor de CD se puede producir por bobinas o imanes permanentes [20]. 2.1. Estructura física En la Figura 2.1 se muestran las partes que conforman a un motor de CD de imán permanente. Figura 2.1: Motor de CD de imán permanente Como se menciona en [21] físicamente la estructura del motor consta de dos partes: el 7 8CAPÍTULO 2. ANÁLISIS DINÁMICO Y SISTEMA DE CONTROL DEL MOTOR DE CD estátor o parte estacionaria y el rotor que es la parte rodante. El estátor contiene imanes proyectados hacia adentro para proveer el ujo magnético en la máquina. El rotor, también llamado armadura consiste en un eje maquinado de acero y un núcleo 1 montado sobre él. El núcleo aloja a la bobina las cuales se disponen en las ranuras de éste. El colector, se encuentra sobre el eje del rotor, en un extremo del núcleo y se encuentra dividido en segmentos. Las escobillas son generalmente elaboradas con material que presenta alta conductividad y bajo coeciente de rozamiento, como carbón o grato. 2.2. Modelo dinámico El modelo dinámico del motor se debe estudiar desde dos perspectivas diferentes, la eléctrica y la mecánica. Desde el punto de vista eléctrico, el motor de CD se debe modelar como un circuito eléctrico con base en la ley de voltaje de Kirchho. Por otra parte, desde el punto de vista mecánico, el motor de CD se debe modelar realizando un análisis dinámico de momentos en el eje de salida. 2.2.1. Análisis del circuito eléctrico Figura 2.2: Diagrama del circuito del motor El circuito eléctrico del motor se puede representar como se muestra en la Figura 2.2, en donde tomando en cuenta la ley de voltajes Kirchho (ley de mallas) que menciona La suma algebraica de los voltajes alrededor de una malla cualquiera en un circuito eléctrico es cero, se puede analizar el circuito dando como resultado la Ec. (2.1), en donde de entrada, VRa es el voltaje en la resistencia, VLa Vin es el voltaje es el voltaje de la inductancia, VFke es el voltaje dado por la fuerza contraelectromotriz. −Vin + VRa + VLa + VFke = 0 1 La (2.1) bobina es denida por la Real Academia Española como circuito eléctrico formado por un alambre aislado que se arrolla en forma de hélice con un paso igual al diámetro del alambre. 2.2. 9 MODELO DINÁMICO Para la obtención del voltaje en la resistencia VRa , según la ley de Ohm [22] establece que la corriente en un circuito es proporcional a la fuerza electromotriz total (fem) que actúa sobre el circuito e inversamente proporcional a la resistencia total del circuito, esto se encuentra expresado en la Ec. (2.2), donde (fem) y R i es la corriente, VRa es el voltaje en la resistencia la resistencia. i= V Ra R (2.2) Partiendo de la Ec. (2.2) se deduce que el voltaje VRa esta dado por la Ec. (2.3). VRa = iR Para obtener el voltaje en la inductancia VLa , (2.3) se conoce que la inductancia constante de proporcionalidad entre el voltaje inducido di [22], esto se representa en la Ec. (2.4). corriente dt L= VLa L es la y la razón de cambio de la VLa di/dt (2.4) De la Ec. (2.4) se puede obtener que el voltaje dado en la inductancia se expresa como en la Ec. (2.5). VLa = L La fuerza contraelectromotriz VFke di dt (2.5) se presenta cuando un conductor se mueve en un campo magnético, ya que genera un voltaje entre sus terminales la cual es proporcional a la velocidad del eje. Este voltaje tiende a oponerse al ujo de la corriente [20], el cual puede representarse como en la Ec. (2.6), donde del motor, y ke VFke es la fuerza contraelectromotriz, q̇m es la velocidad del eje es la constante de la fuerza contraelectromotriz. VFke = ke q̇m (2.6) De acuerdo a lo anterior, sustituyendo las Ec. (2.3), (2.5) y (2.6), en la Ec. (2.1) la expresión algebraica para representar el circuito eléctrico del motor mostrado en la Figura 2.2 esta dada por la Ec. (2.7). La dia + Ra ia + ke q̇m = Vin dt (2.7) 10CAPÍTULO 2. ANÁLISIS DINÁMICO Y SISTEMA DE CONTROL DEL MOTOR DE CD 2.2.2. Análisis dinámico de momentos Figura 2.3: Momentos del motor Basándose establece que en la la segunda suma de ley de todos Newton (del 2 los pares movimiento que actúan rotacional) sobre un eje [22] que dado es proporcional a la aceleración angular experimentada por el objeto, siendo el momento de inercia su factor de dicha proporcionalidad, se puede mencionar que (momento P P P ares = de inercia) (aceleración angular), o bien, como se expresa en la Ec. (2.8), donde T es la suma de todos los pares que actúan alrededor del eje del motor, de inercia del motor referido a la echa, y q̈m X J0 es el momento es la aceleración angular. T = J0 q̈m (2.8) Como se muestra en la Figura 2.3, los pares que intervienen en la echa de salida del motor son, el par del motor τm , el par de de carga τL , y el par de fricción τf , por lo tanto, la Ec. (2.8) puede ser expresada como en la Ec. (2.9). τm − τL − τf = J0 q¨m Para obtener el par del motor τm , (2.9) en [20] se menciona que el par desarrollado en el eje del motor es directamente proporcional al ujo en el campo y a la corriente en la armadura, 2 Se entiende por par o momento de fuerza M como cualquier causa que tienda a producir un cambio en el movimiento rotacional de un cuerpo sobre el cual actúa. Es el producto de una fuerza F y la distancia d perpendicular desde un punto de rotación a la línea de acción de la fuerza, es decir M = F d [22]. 2.2. 11 MODELO DINÁMICO lo anterior se encuentra dado por la Ec. (2.10),donde magnético, ia es la corriente de armadura, y τm es el par del motor, φ es el ujo km es la constante de proporcionalidad (constante de par). τm = km φia Para calcular el par de fricción τf , (2.10) en [20] se menciona que la fricción viscosa representa una fuerza que es una relación lineal entre la fuerza aplicada y la velocidad. La expresión matemática de la fricción viscosa se representa en la Ec. (2.11), donde b0 es el coeciente de fricción viscosa. τf = b0 q˙m (2.11) Con base en lo anterior, sustituyendo las Ecs. (2.10) y (2.11) en la Ec. (2.9), la dinámica de momentos que se muestra en la Figura 2.3 puede ser representada como en la Ec.(2.12) km ia − τL − bo q̇m = Jo q¨m (2.12) Reagrupando la Ec.(2.12) se obtiene en la Ec. (2.13) la expresión matemática que rige el análisis dinámico de momentos. Jo q¨m + bo q̇m + τL = km ia 2.2.3. (2.13) Modelo dinámico del motor en variables de estado A partir del análisis del circuito eléctrico y de la estructura mecánica, el modelo dinámico del motor de C.D. se puede resumir en la Ec. (2.14). dia + Ra ia + ke q̇m = Vin dt dq̇m Jo + bo q̇m + τL = km ia dt T T de estado x = qm q˙m ia = x1 x2 x3 La Considerando que el vector entrada u = Vin , (2.14) y la señal de la Ec.(2.14) se puede expresar como en la Ec. (2.15). km x3 − b0 x2 − τL J0 u − Ra x3 − ke x2 x˙3 = La x˙2 = La Ec.(2.15) se puede expresar como ẋ = f (x(t), u(t)) (2.15) mostrándose en las Ecs. (2.16) y (2.17) , que representa al modelo dinámico del motor en el vector de variable de estado 3 donde x R . x, 12CAPÍTULO 2. ANÁLISIS DINÁMICO Y SISTEMA DE CONTROL DEL MOTOR DE CD 0 1 0 0 0 x1 b0 km τL x2 + − J0 + 0 u ẋ = 0 − J0 J0 1 ke Ra x3 0 − La − La 0 La ẋ = dx = Ax + Bu + C dt (2.16) (2.17) 2.3. Sistema de control por dinámica inversa Para desarrollar el sistema de control por dinámica inversa (DI) [23] se realiza el cambio km x3 −b0 x2 −τL de coordenadas x˜1 = x2 , x˜2 = y ũ = Vin , por lo que el modelo dinámico del J0 motor de C.D. representado en la Ec. (2.16) se puede expresar como en la Ec. (2.18). x˜˙1 = x˜2 2 km b0 km ke b0 km Ra b0 km ˙ x˜2 = ũ + 2 τL + x˜1 − + 2 − x3 J0 La J0 J02 J0 La J0 La J0 Se establece el controlador DI [24] en la Ec. (2.19), donde ė = ẇr − x˜2 . wr y ẇr (2.18) v = ẅr + kp e + kd ė, e = wr − x˜1 , son la velocidad y aceleración deseada. J0 La ũ = km b0 km b0 τL v+ + ke x2 + Ra x3 x3 − x2 − J0 J0 J0 J0 (2.19) Como se observa en la Ec. (2.19), el control DI requiere el conocimiento de los parámetros del motor. Capı́tulo 3 Formulación del problema de control adaptable En la Figura 3.1 se muestra el esquema en lazo cerrado del sistema de control adaptable basado en evolución diferencial que se propone en esta tesis y será detallada posteriormente. Figura 3.1: Diagrama del sistema dinámico 3.1. Variables de diseño En la Figura 3.1 se observa que el comportamiento del sistema esta determinado por los parámetros (p) que rigen la dinámica del motor, ya que el controlador requiere del conocimiento de los parámetros reales del motor para emitir la señal (volts) necesaria que proporcionará un seguimiento deseado en velocidad. Es por esto que en el presente trabajo se considera como variables de diseño a los parámetros del sistema de control dado por T p = p1 p2 p3 p4 p5 p6 , los cuales, a su vez forman parte de los parámetros dinámicos del sistema. 13 14 CAPÍTULO 3. FORMULACIÓN DEL PROBLEMA DE CONTROL ADAPTABLE Los valores utilizados en los parámetros se encuentran en los límites descritos en la Tabla 3.1. Parámetro Mínimo Máximo P1 0 2 P2 0 1200 P3 0 5 P4 0 100 P5 0 10 P6 0 150 Tabla 3.1: Límites de los parámetros del sistema de control 3.2. Función objetivo El problema de programación multiobjetivo se puede plantear de manera matemática como se muestra en la Ec. (3.1), siendo Ω = {λ ∈ R|λ ∈ [t1 , t] , t1 = t − ∆w}, donde ∆w ∈ R, es el tiempo de retroceso, es decir, el intervalo de tiempo hacia atrás que se considera para evaluar el sistema en el problema de optimización. M in p̄ Z 2 Z 2 Z (x2 (t) − x̄2 (t)) dt (x1 (t) − x̄1 (t)) dt La Ec. (3.1) es multiobjetivo ya que se busca minimizar la diferencia reales y estimados dados por x1 , x¯1 , x2 , x¯2 , x3 , x¯3 , (3.1) t∈Ω t∈Ω t∈Ω T (x3 (t) − x̄3 (t)) dt 2 e entre los parámetros los cuales representan la posición angular, velocidad angular y corriente del motor, reales y estimadas. En el trabajo se utiliza el método de sumas ponderadas para tratar el problema multiobjetivo y de esta manera combinar las funciones objetivo escalarmente para ser tratado como un problema de optimización mono objetivo. 3.3. Restricciones El sistema se encuentra sujeto a las siguientes restricciones: a) Sistema real ẋ = f (x(t), u(t), p) |t ∈ Ω (3.2) ẋ = f (x̄(t), u(t), p̄) |t ∈ Ω (3.3) b) Sistema dinámico estimado. c) Condiciones de los estados iniciales x̄(t1 ) = x(t1 ), x(0) = x0 (3.4) 3.4. PLANTEAMIENTO DEL PROBLEMA DE OPTIMIZACIÓN 15 d) Límites en la señal de control uM IN ≤ u(t) ≤ uM AX (3.5) 3.4. Planteamiento del problema de optimización El problema de optimización dinámica en línea consiste en encontrar los parámetros T estimados p̄ = p¯1 p¯2 p¯3 p¯4 p¯5 p¯6 de un motor de CD en línea tal que minimice el error entre la señal de salida del sistema real x y del sistema estimado x̄ sujeto a la restricción propia de la dinámica del sistema real (Ec. 3.2) y el sistema estimado (Ec. 3.3) así como los límites en la señal de control (Ec. 3.5) para así proporcionar un buen desempeño en el sistema de control. 16 CAPÍTULO 3. FORMULACIÓN DEL PROBLEMA DE CONTROL ADAPTABLE Capı́tulo 4 Computación Evolutiva 4.1. Introducción a la computación evolutiva El mundo en el que vivimos está en constante cambio. Con la nalidad de sobrevivir en un entorno que cambia dinámicamente, los individuos deben tener la capacidad de adaptarse [25]. La computación evolutiva (CE) es un campo del computo inteligente que emula procesos de la evolución natural, es decir, que la CE se reere a los sistemas de resolución de problemas basados en computadoras que utilizan modelos computacionales de los procesos evolutivos como la selección natural, supervivencia del mas apto y la reproducción. Diversos algoritmos evolutivos han sido desarrollados, entre los cuales se incluyen algoritmos genéticos, programación genética, programación evolutiva, estrategias evolutivas, evolución diferencial (ED), evoluciones culturales y coevolución [26]. 4.1.1. Elementos del Algoritmo Evolutivo El proceso de búsqueda de un algoritmo evolutivo se encuentra constituido por los siguientes componentes: Una representación de soluciones al problema. Una función de evaluación para obtener la aptitud o capacidad de supervivencia de los individuos. Inicialización de la población inicial. Un proceso de selección. Operadores de variación y reemplazo. En la Figura 4.1 se muestra el algoritmo evolutivo genérico. 17 18 CAPÍTULO 4. COMPUTACIÓN EVOLUTIVA 1. Begin 2. G=0 3. Crear una población 4. Mientras no se cumpla la condición de parada hacer nx − dimensional, X(0), f (xi (t)), que consiste de 5. Evaluar aptitud de cada individuo, 6. Realizar la reproducción para crear la descendencia. 7. Seleccionar la nueva población X(t+1); 8. Avanzar a la nueva generación, por ejemplo, t=t+1 ns individuos; xi (t); 9. Fin Figura 4.1: Pseudocódigo de un algoritmo evolutivo. 4.2. Evolución diferencial La ED es una estrategia de búsqueda estocástica basada en población. Fue propuesto en 1995 por Storn y Price para resolver problemas de optimización con parámetros reales. La ED utiliza un operador de mutación simple basado en la diferencia de pares de soluciones (llamadas vectores) con el n de encontrar una dirección de búsqueda basada en la distribución de soluciones en la población actual. Como mecanismo de reemplazo, el nuevo hijo (llamado vector trial) compite únicamente contra su padre (vector target) y lo reemplaza si tiene una mejor aptitud. La recombinación y la mutación son los operadores de variación usados para generar nuevas soluciones, y un mecanismo de reemplazo provee la capacidad de mantener un tamaño jo en la población. La ED utiliza N vectores con D dimensiones, y trata de encontrar ~ x el cual optimiza a n T f (~x), donde ~x R es el vector de soluciones ~x = [x1 , x2 , ..., xn ] , y cada xi , i = 1, ..., n se encuentra delimitada por Li ≤ xi ≤ Ui . La ED se encuentra compuesta por los siguientes mecanismos: Mutación Recombinación Selección La mutación tiene como objetivo generar variaciones que desplacen a los vectores solución en la dirección y magnitud correcta y en su forma más simple se encuentra representado en la Ec. (4.1), donde F [0, 1] es el factor de escala que controla la diferencia vectorial ~xr1 ,G −~xr2 ,G . ~v ,G = ~xr3 ,G +F (~xr1 ,G −~xr2 ,G ), r1 6= r2 6= r3 6= i (4.1) La recombinación (binomial en este caso) permite el intercambio de información del vector padre y del vector mutante al descendiente, donde cada uno de los elementos del vector trial puede ser tomado del vector padre o del vector de mutación con una probabilidad CR, y 4.2. 19 EVOLUCIÓN DIFERENCIAL j = jrand se da con la nalidad de asegurar que cuando menos se obtenga un parámetro del vector de mutación → − xi como se muestra en la Ec. (4.2), donde u i ,G ui ,G = xi , G si randj [0, 1) < CR o CR [0, 1]. j = jrand en otro caso (4.2) En la Figura 4.2 se muestra la cruza binomial. Figura 4.2: Cruza Binomial. El reemplazo de la ED se realiza con base en la aptitud evaluada en la función objetivo, para lo cual se compara el vector trial con el vector target y se mantiene aquel que tenga mejor aptitud, lo anterior se encuentra dado en la Ec.(4.3). x~i ,G+1 u~i ,G = x~i ,G si f (~ ui ,G ) < f (~ xi ,G ) en otro caso (4.3) En la Figura 4.3 se muestra el esquema del proceso de mutación y recombinación. Las echas y indican la dirección de desplazo del vector de solución, el tamaño de la echa indica la magnitud del desplazamiento, los puntos representan la posición actual de los vectores de solución y el cuadro punteado representa el área donde estará ubicado el vector resultante después de la recombinación. 20 CAPÍTULO 4. COMPUTACIÓN EVOLUTIVA Figura 4.3: Recombinación y mutación. 4.2.1. Variantes de la ED La nomenclatura usada para identicar las variantes de la ED se encuentra dada por DE/a/b/c donde `DE' se reera a Evolución Diferencial, `a' se reere al criterio de selección de uno de los individuos a usar en el vector de mutación (llamado vector base), `b' se reere al número de diferencias calculadas en el vector de mutación y `c' se reere al operador de recombinación elegido [27]. La variante más popular es DE/rand/1/bin (ver Figura 4.4), donde `rand' indica que el vector base usado en la mutación se obtiene aleatoriamente. El `1' indica que solo un par de vectores serán usados en la mutación diferencial. La palabra `bin' indica que se utilizará recombinación binomial. 4.2. 21 EVOLUCIÓN DIFERENCIAL 1. Inicio 2. G=0 3. Se crea la población inicial aleatoria 4. Evaluar 5. For 6. f (xi,G )∀i, i = 1, ..., N P G=1 For Xi ,G ∀i, i = 1, ..., N P to MAX_GEN Do i=1 to NP Do 7. Seleccionar aleatoriamente 8. jrand= randint(1,D) 9. For j=1 to D Do 10. If (randj [0, 1) < CR or r1 6= r2 6= r3: j = jrand ) Then ui,j,G = xr3,j,G + F (xr1,j,G − xr2,j,G ) 11. 12. Else 13. ui,j,G = xi,j,G 14. End If 15. End For 16. If( 17. f (ui,G ) ≤ f (xi,G ) ) Then xi,G+1 = ui,G 18. Else 19. xi,G+1 = xi,G 20. End If 21. End For 22. G=G+1 23. End For 24. Fin Figura 4.4: Algoritmo DE/rand/1/bin. randint(min,max) es una función que regresa un numero entero entre min y max. rand[0,1] es una función que regresa un número real entre 0 y 1. NP, MAX_GEN, CR y F son parámetros denidos por el usuario. D es la dimensión del problema. En la Tabla 4.1 se listan las principales variantes de la ED, donde se muestra que los procedimientos para recombinación utilizados son binomial (bin) y exponencial. En la recombinación binomial se elige para cada variable en el vector, un número aleatorio entre [0,1) y si éste es menor o igual que el valor CR entonces la variable se toma del vector de mutación ~v , de lo contrario se toma del vector padre ~x. En la recombinación exponencial se elige de la misma forma que la binomial, con la diferencia de que en cuanto encuentra un valor aleatorio mayor a CR, las variables restantes se toman del vector padre. Las variantes best son aquellas donde el vector base es el mejor vector de toda la población actual. 22 CAPÍTULO 4. Nomenclatura rand/p/bin rand/p/exp best/p/bin best/p/exp current − to − rand/p current − to − best/p current − to − rand/p/bin rand/2/dir Modelo COMPUTACIÓN EVOLUTIVA Pp p − xrp ,j ) si randj [0, 1) < CR o j = jrand 2 x , j en otro caso Pp i xr3 ,j + F k=1 (xrp ,j − xrp ,j ) mientras randj [0, 1) < CR o j = jrand 1 2 ui , j = en otro caso Pxpi , j xbest,j + F k=1 (xrp ,j − xrp ,j ) si randj [0, 1) < CR o j = jrand 1 2 ui , j = en otro caso P xi , j xbest,j + F pk=1 (xrp ,j − xrp ,j ) mientras randj [0, 1) < CR o j = jrand 1 2 ui , j = xi , j P en otro caso p u~i = x~i + K(x~r3 − x~i ) + F k=1 (~ xrp − ~ xrp ) 1 2 P u~i = x~i + K(xbest ~ − x~i ) + F pk=1 (~ x p −~ xrp ) 2 Prp1 ~ xi,j + K(~ xr3 ,j − ~ xi,j ) + F k=1 (~ xrp ,j − ~ xrp ,j ) si randj [0, 1) < CR o j = jrand 1 2 ui , j = xi , j en otro caso F v~i = v~1 + 2 (v~1 − v~2 + v~3 − v~4 ) donde f (v~1 ) < f (v~2 ) y f (v~3 ) < f (v~4 ) ui , j = xr3 ,j + F k=1 (xr1 ,j Tabla 4.1: Principales modelos de la ED Las variantes de la ED pueden ser agrupados en tres categorías de acuerdo a sus operadores de recombinación: Recombinación discreta. • DE/rand/1/bin • DE/rand/1/exp • DE/best/1/bin • DE/best/1/exp Recombinación aritmética. • DE/current − to − rand/1 • DE/current − to − best/1 Recombinación aritmética-discreta. • DE/current − to − rand/1/bin • DE/current − to − best/1/exp 4.3. Manejo de restricciones Los algoritmos evolutivos en general fueron diseñados para resolver problemas sin restricciones, por lo que la información de factibilidad de soluciones debe incorporarse mediante técnicas de manejo de restricciones, las cuales conforman un área de investigación dentro de los algoritmos evolutivos. En [28] se agrupan los métodos en cuatro categorías: 1. Métodos basados en preservar la factibilidad de las soluciones. 2. Métodos basados en funciones de penalizacion. 3. Métodos en los cuales se distingue claramente la factibilidad y la no factibilidad. 4.3. 23 MANEJO DE RESTRICCIONES 4. Otros métodos híbridos En este trabajo se realiza el manejo de restricciones mediante funciones de penalización, el cual se basa en transformar el problema de optimización con restricciones en uno sin restricciones. Para realizarlo se suma una cantidad a la aptitud del individuo basada en la magnitud de la violación de las restricciones. Las funciones de penalización pueden ser clasicadas en dos tipos [29]: Exterior. A partir de una solución no factible el proceso se moverá hacia la zona factible. Esta es la penalización que se utiliza en el presente trabajo de tesis. Interior. La magnitud de penalización se elige de manera que su valor sea pequeño en puntos lejanos a los límites de la zona factible y la no factible, y que tienda a innito para puntos cercanos a ese límite. Para poder dirigir al algoritmo a un óptimo global factible se necesitan elegir los valores adecuados para la magnitud de penalización, llamados factores de penalización. Algunas alternativas enfocadas a este aspecto son las siguientes [29]: Pena de muerte. Propone asignar una aptitud de cero a los individuos no factibles. Penalizaciones estáticas. Asume que los factores de penalización permanecen sin cambios durante el proceso. Penalizaciones dinámicas. El grado de penalización depende del tiempo o generación en la que se encuentre, donde generalmente la penalización es mas severa en etapas avanzadas. Penalización basada en factibilidad. En [30] Kalyanmomoy Deb propone un método que corresponde a la segunda y tercera categorías descritas en [28]. Un torneo binario para el operador de selección, donde dos soluciones se comparan siguiendo los siguientes criterios: • Una solución factible es elegida sobre una no factible. • Entre dos soluciones factibles, se preere aquella que tenga la mejor aptitud (mejor valor en la función objetivo). • Entre dos soluciones no factibles, se elige la de menor valor de violación. En el presente trabajo se utilizan dos tipos de penalización que corresponden a su vez a la clasicación de penalización exterior. La penalización estática, donde si existe una violación en la restricción de voltaje que se maneja se procede a penalizar aumentando en 1000 unidades el valor de aptitud, esta penalización se menciona en el variante − ED/penalización . El segundo tipo de penalización utilizado documento como es la penalización basada en factibilidad, para su distinción en las variantes utilizadas en el documento se nombra como variante − ED/regla de Deb . 24 CAPÍTULO 4. COMPUTACIÓN EVOLUTIVA Capı́tulo 5 Resultados En este capítulo son analizados los resultados obtenidos. En la sección 5.1 se especican las herramientas y parámetros utilizados en el sistema de control adaptable, asi como los parámetros utilizados en los algoritmos para su ejecución. En la sección 5.2 se realiza una comparativa entre algunas variantes de la ED para identicar al de mejor desempeño. Este estudio se centró en variantes best de ED, pues en estudios preliminares se observó que estas variantes fueron mucho más estables que las variantes rand. Las variantes rand se pretenden retomar como trabajo futuro. En la sección 5.3 se hace una comparación estadística entre el algoritmo con mejor comportamiento mostrado en la sección anterior contra el controlador clásico PI. En todos los casos, cada vector de la ED representa el conjunto de seis parámetros estimados del motor de CD y la función objetivo es aquella expresada en la Ec. (3.1). 5.1. Diseño experimental Las pruebas fueron realizadas utilizando una computadora con procesador Intel Core i5-3317U 1.70 GHz, memoria 4 GB en un sistema operativo Windows 8.1 para 64 bits. La simulación se llevó a cabo utilizando el programa MATLAB R2013a. Para las pruebas estadísticas se utilizó el programa XLSTAT desarrollado por Addinsoft el cual es una herramienta estadística para Microsoft Excel, misma que se utilizó para la realización de los test de Kruskall-Wallis, Friedman y Wilcoxon en la comparación entre algoritmos. Las cuales permiten comparar la distribución entre muestras para poder concluir si existe diferencias signicativas entre ellas. Los parámetros de los algoritmos fueron calibrados de manera automática utilizando la herramienta Irace (Iterated Racing Procedure) [31]. Las ganancias utilizadas en el control por dinámica inversa son, kp = 34524 y kd = 368. Para simular el comportamiento dinámico del motor se utilizó el método de Euler con un −3 paso de integración ∆t = 5 × 10 s, con un tiempo inicial t0 = 0s y tiempo nal tf = 6s, se toma en cuenta que para el tiempo inicial la posición angular, velocidad angular y corriente x0 = 0 0 0 . Se toma como restricción de voltaje que debe estar en un −70volts ≤ u ≤ 70volts. Se eligen los parámetros reales del motor mostrados en la del motor es cero rango de Tabla 5.1. 25 26 CAPÍTULO 5. Parámetro J0 km b0 Ra ke La TL −4 b0 Valor 3.45 × 10 N ms2 0.3946N m 5.85 × 10−4 N ms2 9.665Ω 0.4133V /rads 102.44 × 10−3 H 0 Tabla 5.1: Parámetros nominales del motor, donde constante de par, RESULTADOS J0 es la inercia del motor, km es la Ra es la resistencia de armadura, ke la inductancia de armadura y TL es la es el coeciente de fricción viscosa, es la constante de la fuerza contra-elctromotriz, La es carga o par del motor. 1 El sistema de control propuesto se utilizó para el problema de regulación y seguimiento . Se propone para el problema de regulación la referencia wr = 40rad/s. Para el problema de seguimiento se utiliza la trayectoria mostrada en las Ec. (5.1) - (5.3). wr = 40sin(2πt)rad/s wr ˙ = 80πcos(2πt)rad/s2 wr ¨ = −160π 2 sin(2πt)rad/s2 En los casos de prueba que se analizan se realizaron ejecuciones en (5.1) (5.2) (5.3) 0s ≤ t ≤ 6s, donde en ambos problemas (regulación y seguimiento) se toman en cuenta los parámetros nominales mostrados en la Tabla 5.1 y para el sistema real se toman como base los parámetros nominales presentando las variaciones que se detallan a continuación: Regulación 1 y Seguimiento 1: Se varían los parámetros reales durante el periodo de tiempo 2s ≤ t ≤ 4s utilizando la función sin con respecto al tiempo y con frecuencias diferentes para cada parámetro, la cual sumada al parámetro afectado puede aumentar desde cero hasta un máximo de 10 % de su valor nominal (este comportamiento se denomina en el documento como parámetros dinámicos y se presentan en la Tabla 5.2). Regulación 2 y Seguimiento 2: Se utilizan los parámetros del sistema real acordes a los parámetros nominales (ver Tabla 5.1) y se varían los parámetros de manera dinámica en el periodo de tiempo 0s ≤ t ≤ 6s como se muestra en la Tabla 5.2). 1 Los dos problemas de control son el problema de regulación y el problema de seguimiento [24]. El problema de regulación consiste en encontrar la señal de control u de tal forma que lı́mt→∞ qm ˙ (t) = wr , donde wr es la velocidad deseada dada como vector constante. El problema de seguimiento consiste en encontrar la señal de control u de tal forma que lı́mt→∞ e(t) = 0, donde e(t) = wr (t) − qm ˙ (t) es el error en velocidad. 5.2. ANÁLISIS DE COMPORTAMIENTO DEL ALGORITMO DE OPTIMIZACIÓN Parámetro Valor R̆a k˘e L˘a T˘L J0 + 0.10 × J0 × sin(2Π 31 t) km + 0.10 × km × sin(2Πt) b0 + 0.10 × b0 × sin(2Π 12 t) Ra + 0.10 × Ra × sin(2Π 31 t) ke + 0.10 × ke × sin(2Πt) La + 0.10 × La × sin(2Π 12 t) 0 J˘0 k˘m b˘0 27 J0 es la inercia del motor, km es la constante de par, b0 es el coeciente de fricción viscosa, Ra es la resistencia de armadura, ke es la constante de la fuerza contra-elctromotriz, La es la inductancia de armadura y TL es la Tabla 5.2: Parámetros reales dinámicos del motor, donde carga o par del motor. Se dene al error en velocidad como e(t) = wr (t)−q˙m (t), donde wr es la trayectoria deseada en velocidad y q˙m (t) es la trayectoria real del sistema. El error promedio se encuentra dado R tf e(t) dt para t̆ = 1.6s y tf = 6s, el cual se reere a la media del error en como ex̄ = t̆ tf −t̆ velocidad. El error promedio tiene un tiempo inicial t̆ = 1s ya que es el tiempo aproximado en que el controlador PI y el controlador adaptable basado en evolución diferencial CAED se estabilizan. La desviación estándar del error es representada por para t ≥ 1.6s. eσ y se toma en cuenta La señal de control generada en todo el tiempo para cada caso de prueba se encuentra representada por kuk. 5.2. Análisis de comportamiento del algoritmo de optimización En esta sección se analiza el comportamiento obtenido con el controlador basado en Best/1/bin/penalización, Best/1/bin/regla de Deb, Current − to − best/regla de Deb, donde en las variantes las variantes de la evolución diferencial: Curret − to − best/penalización y mencionadas, la palabra `penalización' se reere a penalización estática, en el presente trabajo se utiliza una constante de penalización de 1000 unidades las cuales son agregadas al valor de error obtenido por la función objetivo en caso de que viole la restricción de voltaje propuesta. Los algoritmos fueron calibrados con la herramienta i-Race, los parámetros utilizados se describen en la Tabla 5.3, donde CR es la probabilidad de cruza, F es el factor de escala, NP es el tamaño de la población y tR es el tiempo de retroceso utilizado en el calculo de integración para obtener el error en velocidad. 28 CAPÍTULO 5. Algoritmo Manejo de restricciones Current − to − best (CTBP) Current − to − best (CTBRD) Best/1/bin (B1BP) Best/1/bin (B1BRD) RESULTADOS K CR F NP tR Penalización 0.6302 0.5992 Regla de Deb 0.8684 0.6516 0.3567 42 10 0.4281 112 9 Penalización - 0.8118 0.4019 50 10 Regla de Deb - 0.8869 0.5639 65 9 Tabla 5.3: Parámetros calibrados por la herramienta i-Race Se realizaron 10 ejecuciones de cada problema, utilizando los algoritmos que se estudian, y se obtuvieron los resultados estadísticos mostrados en la Tabla 5.4, donde se anota la norma de error obtenida en cada una de las ejecuciones. Se registran únicamente las ejecuciones con comportamiento aceptable, es decir, el error en trayectoria fué menor al 5% con respecto a la trayectoria deseada para todo instante de tiempo, se marcan con guión `-' los resultados no aceptables. El número de resultados no satisfactorios por algoritmo fueron: 4 con el algoritmo B1BP (en regulación 2 ), regulación 1 y 1 en regulación 2 ), 2 con el regulación 2 ) y 1 utilizando CTBRD (en regulación 2 utilizando B1BRD (1 en algoritmo CTBP (1 en regulación 1 y 1 en 2 ). Con lo anterior se observa que el algoritmo menos able es el B1BP, y el algoritmo mas able es el CTBRD el cual sólo obtuvo un valor no satisfactorio. El tiempo de respuesta obtenido por los algoritmos presentó una media de 0.3171 seg. Originalmente se buscaba bajar la barrera de los 5 milisegundos, lo cual se plantea como un trabajo futuro de esta tesis. Corrida Regulación 1 Algoritmo 1 2 3 4 5 6 7 8 9 10 Media Mediana Desv. Est. B1BP 2.9641 5.8824 3.4199 3.8861 2.7179 9.6626 7.6951 3.3285 5.3663 3.1186 4.8042 3.653 2.3323 B1BRD 3.4142 4.8499 5.3991 4.679 6.5084 5.5136 5.8719 2.465 4.189 4.7656 4.8499 1.2594 a) CTBP 2.5048 2.3579 2.3067 5.5118 2.2367 2.7207 3.908 2.8082 2.372 2.9696 2.5048 1.0814 Regulación 2 Algoritmo CTBRD Corrida 2.2318 2.19 0.6261 Media Mediana Desv. Est. 1.9645 3.8882 1.6994 2.1799 1.7826 2.2266 1.7732 2.3436 2.2602 2.2001 1 2 3 4 5 6 7 8 9 10 B1BP 6.9538 7.5022 5.9647 5.3584 5.0047 6.4904 6.2425 6.2276 0.9089 B1BRD 6.5687 6.9558 7.7221 5.5069 4.9392 6.9657 7.052 6.1263 5.923 6.4177 6.5687 0.8705 b) CTBP 5.2931 5.6116 4.6116 5.2807 4.766 4.0889 5.0047 5.5646 5.1967 5.0464 5.1967 0.4890 CTBRD 5.4969 3.2533 4.3257 4.4052 5.2921 5.7081 3.6742 3.7599 3.8898 4.4228 4.3257 0.8820 5.2. ANÁLISIS DE COMPORTAMIENTO DEL ALGORITMO DE OPTIMIZACIÓN Corrida Seguimiento 1 Algoritmo B1BP 1 2 3 4 5 6 7 8 9 10 3.0121 1.4333 1.3505 1.3885 1.6834 1.7265 1.4952 1.4968 2.3463 1.4089 1.73415 1.496 0.5361 Media Mediana Desv. Est. B1BRD CTBP 2.2859 1.7801 1.7481 1.7162 2.045 1.5811 1.7379 1.8127 1.6597 1.6173 1.7984 1.743 0.2138 c) 1.3993 1.7366 1.7098 1.6466 1.5854 1.2843 1.3611 1.3826 1.3728 2.0222 1.55007 1.49235 0.2315 Seguimiento 2 Algoritmo CTBRD Corrida 1.36619 1.34845 0.0658 Media Mediana Desv. Est. 1.3228 1.311 1.4452 1.4091 1.4356 1.3564 1.3405 1.4601 1.2841 1.2971 1 2 3 4 5 6 7 8 9 10 B1BP 1.1658 1.2108 2.6003 1.3707 1.0995 1.2115 1.09 1.0643 1.0748 1.3602 1.3248 1.1883 0.4616 B1BRD 1.829 2.6438 1.4769 1.8798 2.0412 1.5632 3.0749 1.7569 3.4493 1.5431 2.1258 1.8544 0.6904 d) CTBP 1.5768 1.6599 1.6541 1.584 2.3379 2.918 1.3157 1.5017 1.5433 1.4875 1.7579 1.5804 0.4883 29 CTBRD 1.4196 1.1213 1.3897 1.4605 1.3515 1.1315 1.0414 1.6356 1.2986 1.2216 1.3071 1.3251 0.1814 Tabla 5.4: Tabla de resultados: a)Regulación 1, b) Regulación 2, c) Seguimiento 1, d) Seguimiento 2 En la Tabla 5.5 se muestran los resultados de la prueba de Kruskall Wallis y la prueba de Friedman. En la Tabla 5.6 se detallan los resultados de la tabla de Wilcoxon aplicada a pares de algoritmos. Las tres pruebas estadísticas anteriormente plantean la hipótesis nula de que la distribución entre las muestras comparadas son iguales. Si el llamado p-value es menor a 0.05 se rechaza la hipótesis nula y se acepta la hipótesis alternativa, que indica que la distribución entre las muestras comparadas es diferente, por lo que las diferencias observadas en las estadísticas de las ejecuciones son signicativas. De acuerdo con los resultados obtenidos, se aprecia en la Tabla 5.5 que en los cuatro casos (problemas de regulación 1, regulación 2, seguimiento 1 y seguimiento 2) se rechaza la hipótesis nula en el test de Kruskall Wallis y en el test de Friedman, por lo tanto se acepta la hipótesis alterna de que las distribuciones entre las muestras son diferentes, por lo que se concluye que las diferencias observadas en las muestras de ejecuciones son signicativas. Tabla 5.5: Resultados de las pruebas de Kruskall Wallis y Friedman Problema Regulación 1 Regulación 2 Seguimiento 1 Seguimiento 2 Signicancia asintótica Test de Kruskall Wallis Test de Friedman <0.0001 0.001 0.001 <0.0001 0.0013 0.0406 0.0018 0.0004 30 CAPÍTULO 5. RESULTADOS Tabla 5.6: Resultado de la prueba de Wilcoxon Test de Wilcoxon Signicancia asintótica Reg. 1 Reg.2 Seg. 1 Seg.2 CTBRD - CTBP 0.076 0.08 0.032 0.011 CTBRD - B1BP 0.006 0.036 0.019 0.541 CTBRD - B1BRD 0.009 0.021 0.006 0.006 CTBP - B1BP 0.044 0.106 0.683 0.053 CTBP - B1BRD 0.042 0.014 0.041 0.262 B1BP - B1BRD 0.813 1 0.476 0.041 Algoritmos En la Figura 5.1 se muestra en grácas de caja los resultados que se encuentran en la Tabla 5.4, donde la línea horizontal que divide cada una de las cajas representa la mediana obtenida en el conjunto de 10 ejecuciones independientes. Figura 5.1: Grácos comparativos entre algoritmos Considerando los resultados en el problema de regulación 1 (ver Tablas 5.4 a) y 5.1 a) ) se observa que los valores mas bajos se obtuvieron con el algoritmo CTBP y CTBRD, para los cuales se observan diferencias signicativas con respecto a los algoritmos B1BP y B1BRD. Observando los resultados en el problema de regulación 2 (ver Tablas 5.4 b) y 5.1 b)) los algoritmos que obtienen los valores más bajos son nuevamente el algoritmo CTBP y CTBRD, en la cual el algoritmo CTBRD muestra diferencia signicativa con respecto a B1BP y B1BRD, mientras que el algoritmo CTBP muestra diferencia signicativa con respecto a B1BRD pero no así al compararlo con B1BP. Analizando el comportamiento en el problema de seguimiento 1 (ver Tablas 5.4 c) y 5.1 c)) se observa que los algoritmos CTBP y CTBRD obtienen la media y mediana más baja que los algorimos B1BP y B1BRD, en el test de Wilcoxon se encuentra que CTBP obtiene 5.3. ANÁLISIS DE RESULTADOS COMPARATIVOS CON OTRA TÉCNICA DE CONTROL31 diferencias signicativas con respecto a B1BRD pero no contra B1BP, sin embargo en B1BP muestra un valor atípico que es notablemente más grande (3.0121) con respecto al máximo valor obtenido por el algoritmo CTBP (2.0222). Referente al algoritmo CTBRD se encontró diferencias signicativas contra los tres algoritmos con los que se compara, siendo éste el que presenta la media, mediana y desviación estándar mas baja. Al comparar los resultados obtenidos en el problema de seguimiento 2 (ver Tabla 5.4 c) y 5.1 c)) se aprecia que los algoritmos que obtienen los valores más bajos son B1BP y CTBRD, sin embargo el algoritmo B1BP presenta un valor atípico mayor que el máximo valor obtenido por CTBRD. El algoritmo CTBRD presenta diferencia signicativa con respecto a CTBP y tiene una media, mediana y desviación estándar menores. Con lo anterior se puede concluir que el algoritmo que genera un mejor comportamiento para el controlador CAED es el algoritmo CTBRD, ya que presenta la norma de error menor estadísticamente contra los demás algoritmos contra los que se compara. De igual manera se nota que de los cuatro algoritmos, es el CTBRD el que presentó únicamente un resultado no favorable en un instante de tiempo en la ejecución 8 del problema de regulación 2. Dada esta conclusión, se realizó una comparativa de desempeño entre el controlador clásico PI, con respecto al control CAED que utiliza la variante CTBRD. 5.3. Análisis de resultados comparativos con otra técnica de control Se elige para la comparación al controlador PI ya que es una técnica muy utilizada para problemas de control automático. En [32] presenta un controlador PI para un motor síncrono de imán permanente alimentado por un convertidor matricial. En [33] se presenta un esquema de control PI de autoajuste difuso para los sitemas de control de velocidad con motores ultrasónicos producidos por Shinsei Corporation en Japón. 5.3.1. Control proporcional-integral u es la señal de entrada, kp es la constante e = wr − q̇ es el error que se da entre la velocidad En el control PI [34] se utiliza la Ec.(5.4), donde proporcional, deseada wr ki es la constante integral, y la velocidad real q̇ del motor. Z u = kp e + ki t e dt (5.4) 0 Para su implementación se utiliza la Ec. (5.4), con una constante proporcional y una constante integral 5.3.2. kp = 0.15 ki = 12.9904. Comparativa entre el controlador PI y el controlador CAED basado en el algoritmo CTBRD La comparación se realiza con base en tres criterios, el criterio de integridad de error absoluto (CIEA) dado en la Ec. (5.5), criterio de integridad de error absoluto por tiempo 32 CAPÍTULO 5. RESULTADOS (CIEAT) representado en la Ec. (5.6) y criterio de integridad de error cuadrático (CIEC) |e(t)| 1s ≤ t ≤ 6s. dado en la Ec. (5.7), donde periodo de tiempo es la norma de error en velocidad que se evalua en el 6 Z |e(t)| · dt = 1 Z 6 t · |e(t)| · dt = 1 6 Z e2 · dt = 1 6 X i=1 6 X i=1 6 X |ei | · dt (5.5) ti · |ei | · dt (5.6) e2i · dt (5.7) i=1 PI CAED Regulación 1 MEDIA MEDIANA DESV. EST. CIEA 191.7617 191.7617 0 CIEAT 584.7208 584.7208 0 a) Regulación 2 MEDIA MEDIANA DESV. EST. CIEA 484.0223 484.0223 0 CIEAT 1683.209 1683.209 0 c) Seguimiento 1 MEDIA MEDIANA DESV. EST. CIEA 5176.836 5176.836 0 CIEAT 18006.33 18006.33 0 e) Seguimiento 2 MEDIA MEDIANA DESV. EST. CIEA 5161.922 5161.922 0 g) CIEAT 17909.65 17909.65 0 CIEC 111.1628 111.1628 0 CIEC 288.7147 288.7147 0 CIEC 33078.68 33078.68 0 CIEC 33074.92 33074.92 0 Regulación 1 CIEA MEDIA MEDIANA DESV. EST. 34.2405 31.9373 6.0609 b) CIEAT 102.234 95.6884 20.0381 Regulación 2 CIEA MEDIA MEDIANA DESV. EST. 82.6115 81.1991 6.9297 d) CIEAT 281.7535 281.0921 18.5411 Seguimiento 1 CIEA MEDIA MEDIANA DESV. EST. 35.4370 34.3451 3.1482 f) CIEAT 122.2728 117.4929 12.1586 Seguimiento 2 CIEA MEDIA MEDIANA DESV. EST. 36.61931 36.24145 7.105131 h) CIEAT 131.2836 125.8612 20.02316 CIEC 8.3504 5.646 5.6044 CIEC 19.9969 15.6258 11.999 CIEC 2.7226 2.1015 1.3390 CIEC 4.72944 2.1403 8.385448 Tabla 5.7: Resultados de los criterios de desempeño de los controladores PI y CAED Al comparar los resultados obtenidos con el CIEA (ver Tabla 5.7) entre el controlador PI y el controlador CAED, se aprecia que el error generado con CAED es notablemente menor en la media y la mediana para los cuatro problemas presentados ( aproximadamente 16.68 % del error obtenido en regulación y 0.66 % del error obtenido en seguimiento, con respecto al controlador PI ), lo que nos indica que la respuesta del controlador CAED es satisfactoria ya que presenta un mejor amortiguamiento ante las incertidumbres presentadas. Comparando los resultados obtenidos con el CIEAT, el controlador CAED presenta errores menores que el control PI en los 4 problemas presentados ( aproximadamente 16.69 % del 5.3. ANÁLISIS DE RESULTADOS COMPARATIVOS CON OTRA TÉCNICA DE CONTROL33 error obtenido en regulación y 0.73 % del error obtenido en seguimiento, con respecto al controlador PI ), este criterio castiga de manera más severa cuando los errores son producidos más tarde, sin embargo la diferencia de error entre ambos controladores es muy fuerte, por lo que se deduce que el control CAED presenta errores muy pequeños durante su ejecución, en comparación con el control PI. Observando los resultados obtenidos con el CIEC, el controlador CAED tiene los registros de error menores ( aproximadamente 7.51 % del error obtenido en regulación y 0.014 % del error obtenido en seguimiento, con respecto al controlador PI ), dado que este criterio da una mayor importancia a los errores grandes y menor a los pequeños, la diferencia de error obtenida entre ambos controladores nos indica que el error presentado en el control PI se ha disminuido de manera drástica al utilizar el control CAED ya que el error converge a cero más rápidamente. En las Figuras 5.2-5.5 se muestra el comportamiento gráco del seguimiento en velocidad del controlador PI (incisos a y c) y del control CAED (incisos b y d). La línea punteada de color rojo representa la velocidad deseada y la línea negra es la velocidad real del 2 motor. Las leyendas |e(t)|, t |e(t)| y e (t) representan a los criterios CIEA, CIEAT y CIEC respectivamente. La leyenda kvk representa la norma en volts de la señal de control. En las grácas se puede apreciar nuevamente que el controlador CAED presenta un mejor seguimiento en los cuatro problemas presentados al seguir de manera mas el la trayectoria deseada, presentando errores mas bajos en los criterios de error evaluados. Figura 5.2: Problema de Regulación 1: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 2s ≤ t ≤ 4s. 34 CAPÍTULO 5. RESULTADOS Figura 5.3: Problema de Regulación 2: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 0s ≤ t ≤ 6s. Figura 5.4: Problema de Seguimiento 1: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 2s ≤ t ≤ 4s. 5.3. ANÁLISIS DE RESULTADOS COMPARATIVOS CON OTRA TÉCNICA DE CONTROL35 Figura 5.5: Problema de Seguimiento 2: PI y CAED con parámetros dinámicos hasta 10 % de su valor nominal para 0s ≤ t ≤ 6s. 36 CAPÍTULO 5. RESULTADOS Capı́tulo 6 Conclusiones y Trabajo Futuro En este trabajo se presentó una opción basada en un algoritmo evolutivo para mejorar el seguimiento en velocidad deseada del sistema de control de un motor de CD bajo el efecto de incertidumbres paramétricas, con respecto a la técnica clásica de control PI. Para ello se utilizó un controlador basado en evolución diferencial. El estudio se basó en dos fases principales, primeramente se realizó una comparación entre algunas variantes de penalización, Best/1/bin/regla de Deb, Curret − to − Current − to − best/regla de Deb ), y posteriormente una segunda fase evolución diferencial (Best/1/bin/ best/penalización y donde se compara el algoritmo que nos dio un mejor resultado en la fase 1 con respecto al controlador PI. 6.1. Observaciones nales Con base en los resultados obtenidos en la fase 1 se observó lo siguiente: • El algoritmo que obtuvo el mayor numero de errores durante la trayectoria fue el B1BP ya que se presentó 4 resultados no satisfactorios durante las ejecuciones. • El algoritmo que logro seguir la trayectoria deseada de manera más able fue el CTBRD, el cual sólo obtuvo un resultado no satisfactorio considerando las ejecuciones en los 4 problemas (regulación 1 y 2, así como seguimiento 1 y 2), así como también presentó la menor norma de error entre los algoritmos implementados. Con base en los resultados obtenidos en la fase 2 se concluyó lo siguiente: • El control CAED presenta un mejor amortiguamiento ante las incertidumbres presentadas. • El control CAED obtiene errores mas bajos durante el seguimiento de la velocidad deseada (menos del • 17 % con respecto al controlador PI). El control CAED converge a cero de manera mas rápida con respecto al control PI. 37 38 CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO Los resultados nales de ambas fases permiten validar la hipótesis de investigación originalmente planteada en el Capítulo 1, pues la ED logra encontrar mejores soluciones que el método clásico de control. Sin embargo, el tiempo esperado para tal proceso (5 milisegundos) no fue alcanzado. 6.2. Trabajos Futuros Tomando en consideración los resultados del algoritmo para dar un mejor seguimiento en velocidad del motor de CD, se plantean como posibles trabajos futuros los siguientes puntos con la nalidad de minimizar el tiempo de respuesta del algoritmo: Implementación de microalgoritmos bio-inspirados. Podría permitir una disminución en el numero de evaluaciones realizadas al trabajar con pocos individuos, y esto conlleve a su vez en una disminución al tiempo de respuesta. Implementación de procesamiento paralelo. Se podría implementar de tal manera que se puedan paralelizar las evaluaciones realizadas y de esta manera conseguir tiempos menores. Probar las variantes rand para analizar su desempeño en este tipo de problemas de control. Bibliografía [1] V.N. Krovy Ji-Chul Ryu S.K. Agrawal C.P. Thang, P.T. Miller. Dierential atness-based planning and control of a wheeled mobile manipulator theory and experiment. IEEE/ASME Transactions on Mechatronics, 16(4):768773, 2011. [2] D. Zhang Z. Ma-X. Jing F.Wang, X. Zhao. Robust and precision control for a Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 225(5):11071120, 2011. directly-driven xy table. [3] Sergey Edward Lyshevski. Nonlinear control [4] H. Sira-Ramírez R. Morales, J.A. Somolinos. Adaptive Control. [6] M. Vidyasagar Mark W. Spong. with Measurements, 47:401417, 2014. Prentice Hall. Robot Dynamics and Control. Nonlinear Control Systems. system Control of a DC motor using algebraic derivative estimation with real time experiments. [7] Alberto Isidori. mechatronic Mechatronics, 9(5):539552, 1999. permanent-magnet dc motors. [5] Wittenmark B. Astrom K. J. of John Wiley & Song. Springer-Verlag Berlin and Heidelberg GmbH & Co. K., 1995. [8] Mark W. Spong Romeo Ortega. Automatica, 25:877888, 1989. [9] Jean-Jacques E. Slotine. [10] Hassan K. Khalil. Adaptive motion control of rigid robots: A tutorial. Applied Nonlinear Control. Nonlinear Systems. [11] Yang Shi Jiabo Zhang, Feng Ding. Prentice-Hall, 1991. Prentice-Hall, 2001. Self-tuning control based on multi-innovation stochastic gradient parameter estimation. System & Control Letters, 58:6975, 2009. [12] V. Mata-M. Díaz-Rodríguez A. Valera J. Cazalilla, M. Valles. Adaptive control of a 3-dof parallel manipulator considering payload handling and relevant parameter models. Robotics and Computer-Integrated Manufacturing, 30(5):468477, 2014. [13] M. Willjuice Iruthayarajan and S. Baskar. multivariable pid controller. Evolutionary algorithms based design of Expert Syst. Appl., 36(5):91599167, July 2009. 39 40 BIBLIOGRAFÍA [14] Kong Li Chen Hong. Swarm intelligence-based extremum seeking control. Systems with Applications, 38(12):1485214860, 2011. Expert [15] Jaime Alvarez-Gallegos Edgar A. Portilla-Flores Miguel G. Villarreal-Cervantes, Carlos A. Cruz-Villar. Robust structure-control design approach for mechatronic system. IEEE/ASME Transactions on Mechatronics, 18(5):15921601, 2013. [16] Bharat Bhushan and Madhusudan Singh. Adaptive control of DC motor using bacterial Appl. Soft Comput., 11(8):49134920, December 2011. foraging algorithm. [17] Celik Ozturk Ozturk Nihat. Speed control of permanent magnet synchronous motors using fuzzy controller based on genetic algorithms. Electrical Power and Energy Systems, 43:889898, 2012. [18] Kalyanmoy Deb. Multi-Objective Optimization using Evolutionary Algorithms. Wiley, 2002. Introduction to Evolutionary Computing. [19] A.E. Eiben J.E. Smith. [20] Benjamin C. Kuo. Sistemas de Control Automático. [21] Stephen J. Chapman. [22] Katsuhiko Ogata. Máquinas Eléctricas. Dinámica de Sistemas. Prentice Hall, 1996. Mc Graw Hill, 2003. Prentice Hall, 1993. [23] Luigi Villani Giuseppe Oriolo Bruno Siciliano, Lorenzo Sciavicco. Planning and Control. Springer, 2003. Robotics: Modelling, Springer, 2010. [24] Seth Hutchinson Mark W. Spong and M. Vidyasagar. Robot Modeling and Control. John Wiley & Sons, inc., 2005. [25] Andries P. Engelbrecht. Computational Intelligence: An Introduction. Wiley Publishing, 2nd edition, 2007. [26] Agoston E. Eiben and J. E. Smith. Introduction to Evolutionary Computing. SpringerVerlag, 2003. Multi-objective Optimization Using Dierential Evolution: A Survey of the State-of-the-Art. Springer [27] Carlos A. Coello Coello Efrén Mezura-Montes, Margarita Reyes-Sierra. Berlin Heidelberg, 2008. [28] Zbigniew Michalewicz and Marc Schoenauer. Evolutionary algorithms for constrained parameter optimization problems. [29] Efrén Mezura-Montes. Evolutionary Computation, 4:132, 1996. Uso de la Técnica Multiobjetivo NPGA para el Manejo de Restricciones en Algoritmos Genéticos. Master's thesis, Universidad Veracruzana, Septiembre 2001. [30] Kalyanmoy Deb. An ecient constraint handling method for genetic algorithms. Computer Methods in Applied Mechanics and Engineering, pages 311338, 1998. In 41 BIBLIOGRAFÍA [31] Manuel López-Ibañez, Jérémie Dubois-Lacoste, Thomas Stützle, and Mauro Birattari. The irace package, iterated race for automatic algorithm conguration. Technical Report TR/IRIDIA/2011-004, IRIDIA, Université Libre de Bruxelles, Belgium, 2011. [32] Youcef Sou. PI control of permanent magnet synchronous motor fed by a matrix Power Electronics and Motion Control Conference and Exposition (PEMC), 2014 16th International, pages 889892, 2014. converter. [33] Wen-Li Xu Yi-Sheng Zhong Yu Cheng, Fu-Rong Lei. Speed control of ultrasonic motors by auto-tuning fuzzy pi control. Intelligent Control and Automation, 2002. Proceedings of the 4th World Congress on, 3:18821886, 2002. [34] Katsuhiko Ogata. Ingeniería de control moderna. Pearson, 2010.