S.E.P. S.E.I.T. D.G.I.T. CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO cenidet IMPLEMENTACIÓN DE CONTROLADORES PARA SISTEMAS NO LINEALES USANDO REDES NEURONALES ARTIFICIALES E T I S PARA OBTENER S EL GRADO DE: MAESTRO E N CIENCIAS E N INGENIERÍA ELECTRONICA P E R S E N T A: ING. JUAN CARLOS ALARCÓN ROCHA DIRECTORES DE TESIS M.C. RAFAEL PARRAHERNÁNDEZ DR JAIME ÁLVAREZ GALLEGOS CUERNAVACA, MORELOS NOVIEMBRE 1999 CENTRO NACIONAL DE INVESfIGACIÓN Y DESARROLLO TECNOLÓGICO cerridet ACADEMIA DE LA MAESTRiA EN ELECTRÓNICA FORMA R11 ACEPTACION DEL TRABAJO DE TESIS Cuemavaca, Mor. Dr. Juan Manuel Ricaño Castillo Director del cerridet Presente Jefe del Depto. de Electrónica At’n. Dr. Jaime E. Arau Roffiel Después de haber revisado el trabajo de tesis titulado: “IMPLEMENTACIÓN DE CONTROLADORES PARA SISTEMAS NO LINEALES USANDO REDES NEURONALES ARTIFICIALES”, elaborado por el alumno Juan Carlos Alarcón Rocha, bajo la dirección del M.C. Rafael Parra Hernández y co-director Dr. Jaime Álvarez Gallegos, el trabajo presentado se ACEPTA para proceder a su impresión. ATENTAMENTE M.C. Carlos Daniel García Beltrán Dr. Luis Gerard0 Vela Valdés Expediente INTERIOR INTERNADO PALMIRA SIN. CUERNAVACA. MOR. MÉXICO AP 5-164 CP 62050, CUERNAVACA, TELS. (73112 2314.12 7613.18 7741. FAX 1731 12 2434 Dr. Jaime Arau Rolfielliefe del Depto de Eiectrónico EMAlL iarau@cenidel.edu.mx cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Cuernavaca, Morelos Ing. Juan Carlos Alarcón Rocha Candidato al grado de Maestro en Ciencias en Ingeniería Electrónica Presente Después de haber sometido a revisión su trabajo final de tesis titulado: “IMPLEMENTACIÓN DE CONTROLADORES PARA SISTEMAS NO LINEALES USANDO REDES NEURONALES ARTIFICIALES’, y habiendo cumplido con todas las indicaciones que el jurado revisor de tesis le hizo, le comunico que se le concede autorización para que proceda a la impresión de la misma. como requisito para la obtención del grado. Reciba un cordial saludo. I .-\ I C.C.P. expediente. INTERIOR INTERNADO PALMiRA S/N. CUERNAVACA. MOR. MCXICO AP 5-164 CP62050, CUERNAVACA, TELS. 1731122314, 127613. 187741. FAX 173) 122434 Or. Ja’ime Arau RoffielIJefe del Depto d e Electrónica EMAlL jarau@cenidel.edu.mx cenidet A quienes debo la vida, quienes me formaron y me inculcaron los principios de superación sin importar condiciones Iimitantes... Quienes me enseñaron que las restricciones materiales son solo una ilusión cuando en verdad se desea alcanzar una meta... Por despertar en mi la inquietud de buscar nuevas metas... Que Dios los guarde I I Muy lejos donde brilla el sol, se encuentran mis más altas aspiraciones probablemente nunca las alcance; pero puedo alzar la vista, contemplar su belleza creer en ellas y tratar de seguir su rumbo... Dedicatoria A Dios por darme la vida Con todo mi amor a tres grandes mujeres Mi madre Maria de los Angeles, Mi abuelita Macaria, Mi tia Maria del Carmen. quienes me han dado toda su ternura, cariño, amor y han inculcado en mi el sentido de la responsabilidad. A mi abuelito Aurelio por todos sus consejos, que Dios lo tenga en su reino (t). A mi tío Manuel por su apoyo incondicional. Con todo respeto, a mi amigo Ricardo Valladolid (t). A mi hermano G. Iván por darme su apoyo, confianza, cariño y por todos los momentos que desde niños hemos compartido. Y a una persona muy especial, mi hermanito José Manuel, te amo pequeñito. A quien con su cariño me apoyo en todo momento. Nadira, te quiero. Agradecimientos A mi familia. gracias por su incondicional apoyo y cariño A mis asesores M.C. Rafael Parra Hernández y Dr. Jaime Álvarez Gallegos, por haber Compartido sus conocimientos y darme paciencia en momentos dificiles, además de su amistad. AI comité de revisión por sus comentarios y sugerencias para mejorar y enriquecer este tema de investigación: M.C Carlos Daniel Garcia Beltrán, M.C. Guadalupe Madrigal Espinosa y Dr. Luis Gerard0 Vela Valdés. A rnis maestros por su amistad y apoyo durante mi formación académica ' AI Dr. Rafael Castro Linares por sus comentarios para mejorar este trabajo de tesis. A la Lic. Margarita Martinez Leal, por su ayuda en la revisión de este trabajo. A rnis compañeros de la generación de los patos: Amin, Pedro, Beristain, Lalo, Ricardo, Javier, Freddy, Rubén y Jorge por todos los momentos que compartimos juntos. A rnis amigos Iván, Elias, Toño, Nacho, Victor, Jhonson, Mario, Ciro, Marco, Miguel y Morcillo por su apoyo incondicional. A la Sra. María Elena y al Dr. J.Arau por su apoyo en todo momento A mis amigas Esmeralda, Ari, Lucero, Liliana, Ale, Sofia, Gaby y Carla gracias por su amistad. A todo el personal administrativo y del área de electrónica de esta institución AI pueblo de México, que a través de CONACYT y SEP me permitió realizar rnis estudios. neuroidentificador ................................................................................ I 9 I <". 2.4 Identificación para el control de sistemas .................................................. f 't< 4 ~ I i . ,.. ..> ;.._! . . Capítulo'3 Análisis de ,sensibilidad y optimización sin ) I $*'. : 3- 2-23 '' ' * restricciones % ... ,. . 3.1 Analisis de sensibilldad ................................................................................ 5': 3-1 11 .... * . . . . 3.1.2 Análisis de sensibilidad para el modelo de regulación de'flujo...........3-7 I . 't .,. 3.2 Optimizacion ............................................... P................................................ 3-9 .. It .3.2.1 Funciones de una variable ....1.......................................................... 3-10 11 i ' ,I. . , b 3.2.2 Funciones de n variables .................................................................. 3-12 ? ii . ..... ...... d -/ Agradecimientos A mi familia, gracias por su incondicional apoyo y cariño. A mis asesores M.C. Rafael Parra Hernández y Dr. Jaime Áivarez Gallegos, por haber compartido sus conocimientos y darme paciencia en momentos difíciles, además de su amistad. AI comité de revisión por sus comentarios y sugerencias para mejorar y enriquecer este tema de investigación: M.C Carlos Daniel Garcia Beltrán, M.C. Guadalupe Madrigal Espinosa y Dr. Luis Gerard0 Vela Valdés. A mis maestros por su amistad y apoyo durante mi formación académica. ' AI Dr. Rafael Castro Linares por sus comentarios para mejorar este trabajo de tesis. A la Lic. Margarita Martinez Leal, por su ayuda en la revisión de este trabajo A mis compaiieros de la generación de los patos: Amin, Pedro, Beristain, Lalo, Ricardo, Javier, Freddy, Rubén y Jorge por todos los momentos que compartimos juntos. A mis amigos Iván, Elias, Toño, Nacho, Victor, Jhonson, Mario, Ciro, Marco, Miguel y Morcillo por su apoyo incondicional. A la Sra. Maria Elena y al Dr. J.Arau por su apoyo en todo momento A mis amigas Esmeralda, Ari, Lucero, Liliana, Ale, Sofía, Gaby y Carla gracias por su amistad. A todo el personal administrativo y del area de electrónica de esta institución ~ l ' ~de ~México, ~ bque l a~través de CONACYT y SEP me Permitió realizar mis estudios. TABLA DE CONTENIDO Tabla de contenido . . . . . . . .............. Lista de figuras ...................................... Lista de tablas ........................................ Introduccion.. ......................................... . I ............................ ...................................................... " ..................................................... ix .............................. ....................... x Capítulo 1 ,Redes neuronales artificiales .. 1.1 Introduccm ................................................................................................. 1.2 Descripción de una neurona biológica ......................................................... 1.3 Redes neuronales artificiales ................................................................. 1.3.1 Arquitectura .............. 1-1 1-4 ..................................................... 1-5 1.3.2 Conexiones......................................................................................... 1-7 1.3.3 Aprendizaje ..<.. .......................................... .................. 1-8 1.4 Clasificación............................. ...............:...... ..................1-8 1.5 Las redes neuronales artificiales como elementos de control ...................... 1-9 1.5.1 Esquema de control indirecto usando redes neuronales artificiales. 1-10 ......................... 1.6 Algoritmos de entrenamiento. ..................... Capítulo 2 Identificación de sistemas dinámicos usando redes neuronales artificiales ., 2.1 Conceptos básicos y notacion ..................................................................... 2.2 Identificación de sistemas estáticos y dinámicos ......................................... 2.2.1 Representación de sistemas .............................................................. 2-1 2-2 2-2 2.2.2Identificaci6n~. ....................................................................................... . r , s ,. . ' 2 " i ,>*~, , ':2:2.3Esquemas ge identific i6n .....;..............:........................................... 2-4 2.3.1 lntercambiador de calor RCT 100............................................................. 2-7 ~ : 2-6 ~ 2.3 Casos de aplicacibn..................................................................................... 2-7 2.3.1.I Identificación del sistema con un neuroidentificador empleando el algoritmo OLL ................................................................ 2.3.1.2Pruebas de. .generalizaci6n del modelo obtenido con el neuroidentificador .............................................................................. 2.3.2CEllO Servo Trainer ..... ...................................................................... 2.3.2.1Identificación del sistema con un neuroidentificador empleando el algoritmo OLL ............................................................... 2.3.2.2Pruebas de generalización del modelo obtenido con el * 2-15 >. 2.3.3 de flujo ................................................................. . . ' ~Módulo.de regulación ," . . empleando el algoritmo OLL ................................................................ < 2-20 neuroidentificador ................................................................................ 2-21 ,. - i ' 2-1O 2-13 2-17 2-19 neuroidentificador .............................................................................. . 2-8 I. I .. %, 8, 2.3':3.1Identificación del sistema con un neuroidentificador ~ 2.3.2.2Pruebas de . .generalización del modelo obtenido con el 2.4 Identificación Para el control de sistemas .................................................. ' Capítulo 2-23 3 Análisis de sensibilidad y optimización sin restricciones .. - , . de sensibilidad ................................................................................ 3-1 3.1 Analisis 3.1.1Análisis de sensibilidad para el modelo del CEI 10.Servo Trainer......3-4 3.1.2Análisis de sensibilidad para el modelo de regulación de flujo ...........3-7 3.2 Optimización ................................................................................................ 3-9 . . ~1 : . ' . , , . 3.2.1'Funciones de una variable ................................................................. 3-10 , < - . I 3.2.2Funciones de n variables.................................................................. , . ii 3-12 Capítulo 4 Programación cuadrática secuencial y. su aplicación en las redes neuronales artificiale s 4.1 Optimización no lineal con restricciones ...................................................... 4-1 4.2 Condiciones necesarias y suficientes para un mínimo local ........................ 4-2 4.3 Programación cuadratica secuencial (SQP) ................................................ 4-3 4.4 Identificación del CE110 Servo Trainer empleando el algoritmo SQP .........4-3 4.4.1 Pruebas de generalización del modelo obtenido con el neuroidentificador ................................................................................... 4-6 4.5 Identificación del módulo de regulación de flujo empleando el algoritmo SQP .............................................................................................................. . I 4.5.1 Pruebas de generalización del modelo obtenido con el neuroidentificador .................................................................................. Ca&ulo 5 Resultados I 4-7 4-10 5.1 Implementación del esquema de control indirecto ....................................... 5.2 Control del CE110 Servo Trainer ................................................................. 5-1 5-5 5.2.1 Regulación y seguimiento sin perturbación ........................................ 5-5 5.2.2 Estrategia de control para rechazo a perturbaciones ......................... 5-6 5.2.3 Regulación con perturbación.............................................................. 5-7 5.2.4 Regulación y seguimiento de una trayectoria con una no linealidad en la seiíal de control y sin perturbación ............................................ 5-8 5.2.5 Regulación con una no linealidad en la señal de control sin perturbación y en presencia de perturbación...................................................................... 5-9 5.3 Control del módulo de regulación de flujo .................................................. 5-10 5.3.1 Seguimiento sin perturbación................................................................. 5-10 5.3.2 Regulación con perturbación ............................................................ 5-11 iii Capítulo .. '6 Gkclusiones 1 , . . .y, .......... .................... 6.1 Resultados'obte 6.2 Trabajos futuros .:................... ..................................................... ? héndice A I ,A.I Ejemplo de optimización de los parametros de una red neuronal artificial empleando SQP ......................................................................... A-? héndice B I B . l Programa de comunicación ........................................................................ B-I B.l .IConexión cliente-servidor .................................................................. B-2 B.l .2 Conexión servidor-cliente .................................................................. 8-2 B.2 Programa general de RNA ......................................................................... B-3 héndice C I C.1 Metodología propuesta para identificar una planta SISO usando redes neuronales artificiales ............................ :.................................................. C-I Referencias ......................... :I.............................................................................. Bibliografía ........................................................................................................... iv R-I S-1 LISTADE FIGURAS Figura 1.1 Esquema de control directo adaptable con modelo de referencia ......1-3 Figura 1.2 Esquema de control indirecto adaptable con .modelo de referencia ... 1-3 Figura 1.3 Diagrama esquemático de una neurona biológica .............................. 1-4 Figura 1.4 Modelo básico de una neurona........................................................... 1-6 Figura 1.5 Configuraciones de las redes neuronales artificiales .......................... 1-9 Figura 1.6 Esquema de control indirecto usando RNA ...................................... 1-10 Figura 1.7 Red neuronal recurrente simple ...........;............................................ 1-12 Figura 2.1 Sistema visto como una caja negra .................................................... 2-4 Figura 2.2 Esquema de una red neuronal........................................................... 2-5 Figura 2.3 Esquema de identificación serie-paralelo ........................................... 2-6 Figura 2.4 Esquema de identificación en paralelo ............................................... 2-6 Figura 2.5 Esquema del intercambiador de calor RCT 100 de DIDATEC TECHNOLOGIE .................................................................................. 2-8 Figura 2.6 Patrones de entrenamiento tomados del intercambiador de calor RCT 100, las muestran fueron tomadas cada 10 segundos ...............2-8 Figura 2.7 Esquema serie paralelo para la identificación de la planta RCT 100 ................................................................................................... 2-9 Figura 2.8 Respuesta del intercambiador de calor RCT 100 y del modelo, las muestran fueron tomadas cada 10 segundos................................... 2-10 Figura 2.9 Doscientos sesenta y siete datos extraidos de la respuesta de intercambiador de calor RCT 100 ante rampas para pruebas de generalización de la RNA, cada muestra fue tomada por intervalos de 10 segundos ................................................................................ 2-11 Figura 2.10 Salida de la planta y salida del modelo (entrenado con el algoritmo OLL) para los datos de entrada de la figura 2.9. ...............2-12 V Figura 2.1 1 Trescientos datos extraídos del intercambiador de calor RCT 100 para pruebas de generalizacit~n del modelo obtenido con el neuroidentificador, cada muestra fue tomada por intervalos de I O segundos. ......................................................................................... 2-12 Figura 2.12 Respuesta del modelo obtenido con el neuroidentificador para los datos de la figura 2.1 I. .............................................................. 2-13 Figura 2.13 CEI 10 Servo Trainer ...................................................................... 2-14 Figura 2.14 Esquema paralelo para la identificación de la planta CEI 10 Servo Trainer.................................................................................. 2-15 Figura 2.15 Patrones de entrenamiento tomados del CEI 10 Servo Trainer, el tiempo de muestreo fue de 0.4 segundos. ................................... 2-16 Figura 2.16 Respuesta del CEllO Servo Trainer y del modelo obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos. ........................ 2-16 Figura 2.17 Señal senoidal para evaluar el modelo del C E l l O Servo Trainer y respuesta del mismo, el tiempo de muestreo fue de 0.4 segundos. .2-17 Figura 2.18 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. ....................... 2-17 Figura 2.19 Ciento cinco datos obtenidos del CEllO Servo Trainer para pruebas de generalización de la RNA, cada muestra fue tomada por intervalos de 0.4 seg................................................................... 2-18 Figura 2.20 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos....................... 2-18 Figura 2.21 Módulo de regulación de flujo ......................................................... 2-19 Figura 2.22 Esquema paralelo para la identificación del módulo de regulación de flujo.............................................................................................. 2-20 Figura 2.23 Patrones de entrenamiento tomados del módulo de regulación de flujo, el tiempo de muestreo fue de 0.4 segundos....................... 2-20 Figura 2.24 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos.......................................................................................... 2-21 Figura 2.25 Ciento cinco datos obtenidos del módulo de regulación de flujo para pruebas de generalización de la RNA, cada muestra fue 2-22 tomada por intervalos de 0.4 seg Figura 2.26 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos. 2-22 Figura 2.27 Esquema de control indirecto ....................................................... Figura 3.1 Gráfica del error cuadrático medio ...................................................... vi 2-23 3-2 Figura 3.2 Estructura del neuroidentificador empleado para la identificación 3-5 de CE110 Servo Trainer usando OLL ................................................. Figura 3.3 Respuesta del modelo obtenido con RNA para el C E l l O Servo Trainer para una señal que contiene datos con los que no se entrenó la RNA................................................................................................. 3-6 Figura 3.4 Respuesta del modelo obtenido con RNA para el módulo de regulación de flujo para una señal que contiene datos con los que no se entrenó la RNA ............................................................................... 3-8 Figura 3.5 Aproximación de dos puntos con una RNA ........................................ 3-9 Figura 3.6 Representación de una función de una variable ............................... 3-10 Figura 4.1 Esquema paralelo para la identificación de la planta CEI 10 Servo Trainer .............................................................. :.................................. 4-4 Figura 4.2 Estructura del neuroidentificador empleado para la identificación de CEI 10 Servo Trainer usando SQP ................................................ 4-4 Figura 4.3 Patrones de entrenamiento tomados del CEIIO Servo Trainer, el tiempo de muestreo fue de 0.4 segundos. .......................................... 4-5 Figura 4.4 Respuesta del CEllO Servo Trainer y del modelo obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos .............................. 4-6 Figura 4.5 Señal senoidal para evaluar el modelo del CEI 10 Servo Trainer, el tiempo de muestreo fue de 0.4 segundos. ...................................... 4-6 Figura 4.6 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos .............................. 4-7 Figura 4.7 Esquema paralelo para la identificación de la planta módulo de regulacion de flujo ............................................................................... 4-8 . I Figura 4.8 Patrones de entrenamiento tomados del módulo de regulación de flujo, el tiempo de muestreo fue de 0.4 segundos............................... 4-9 Figura 4.9 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de rnuestreo fue de 0.4 segundos. ...4-9 Figura 4.10 Señal senoidal para evaluar el modelo del módulo de regulacióri de flujo, el tiempo de rnuestreo fue de 0.4 segundos........................ 4-10 Figura 4.11 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. .4-11 Figura 5.1 Esquema de control indirecto basado en redes neuronales ... artificiales ............................................................................................. 5-1 Figura 5.2 lnterfaz gráfica .................................................................................... 5-3 vii Figura 5.3 Implementación del esquema de control indirecto con la ayuda de computadoras personales .......:................................ ;.......................... 5-4 Figura 5.4 Gráfica de la respuesta del Servo Trainer en .-seguimiento y regulación sin perturbación ..................................... : .......................... 5-6 Figura 5.5 Estrategia de control en regulación con perturbación ......................... 5-7 Figura 5.6 Regulación sinkon carga para el CEI 10 Servo Trainer ...................:.5-7 Figura 5.7 Señal de control con histéresis y offset aplicada al CEI 1O Servo Trainer y su respuesta ........................................................................ 5-8 Figura 5.8 Respuesta del sistema en regulación y seguimiento de una trayectoria, sin'carga y en presencia de una no linealidad en la' señal de control................................................................................... 5-9 Figura 5.9 Respuesta del sistema a) en presencia de una no linealidad en la señal de control para parámetros del neuroidentificador desconocidos; b) perturbación en el sistema ............................. ......5-10 ,. ~ Figura 5.1 O Respuesta del seguimiento de un flujo deseado sin perturbación ..5-1 1 Figura 5.1 1 Regulación sinlcon perturbación en la válvula ................................ 5-1 1 Figura A.l Estructura de una red neuronal artificial ............................................ A-I viii LISTADE TABLAS Tabla 3.1 Parámetros del neuroidentificador usado para copiar la dinámica del CEI 10 Servo Trainer usando OLL ........................................................ 3-5 Tabla 3.2 Parámetros del neuroidentificador usado para copiar la dinámica del módulo de regulación de flujo usando OLL.......................................... 3-7 Tabla 4.1 Parámetros de la RNA entrenada con SQP para identificar el CEI 10 Servo Trainer ......................................................................................... 4-4 Tabla 4.2 Parámetros de la RNA entrenada con SQP para identificar el módulo ., de regulacion de Rujo.......................................................................... 4-8 Tabla A.l Patrones de entrenamiento para una RNA ........................................... Tabla A.2 Valor de los parámetros de la RNA optimizada .................................. A-2 A-6 ix ' Antecedentes El control clásico ha solucionado de manera eficiente la mayoría de los problemas de control que se han presentado. Sin embargo, debido a que se basa en la teoría de los sistemas lineales, se requiere que el sistema.a controlar sea lineal o que tenga un comportamiento lineal en la región de operación. El problema de control de sistemas no lineales es muy complejo y en algunas aplicaciones presenta una gran cantidad de procedimientos heuristicos. El método clásico de linealización de sistemas no lineales se realiza de manera local, es decir en diversos puntos de operación del sistema para el cual se obtienen modelos lineales. Este procedimiento tiene la desventaja de que habrá de diseñar un controlador lineal para cada modelo obtenido en cada punto de trabajo. Además, al pasar de un modelo lineal al siguiente, no existen garantías de que el control funcione correctamente, ya que aparecen fenómenos no lineales de mayor complejidad [I]. Más recientemente se ha utilizado una metodología que produce una linealización global y exacta del sistema no lineal original a través de una transformación de variables y una retroalimentación de estados [2]. Este último método se restringe a determinados sistemas, pero cubre casos muy prácticos como los robots manipuladores. Entre otras técnicas para el análisis y diseño de controladores para sistemas no lineales se pueden mencionar: 1) técnicas de control geométrico basado en la geometría diferencial. 2) control predictivo. 3) control adaptable con conocimiento parcial del modelo matemático de la planta y 4) control basado en el teorema de Lyapunov. desafortunadamente en todos estos análisis se requiere conocer el modelo matemático de la planta o al menos tener un conocimiento parcial del mismo. Se han propuesto numerosas técnicas de control adaptable [3] para reemplazar los métodos de control clásico; la habilidad de adaptarse a las variaciones de las dinámicas de la planta ha hecho que la importancia de los controladores adaptables se incremente en muchas aplicaciones. Sin embargo, antes de ser implementados tiene que establecerse el modelo matemático de la planta que muchas veces es difícil y laborioso. Si agregamos a esto el error de modelado de la planta ello nos lleva a una degradación en el desempeño de los controladores. . Por otro lado, el reciente surgimiento del paradigma de las redes neuronales artificiales como una poderosa herramienta de aprendizaje, ha atraído el interés de los investigadores en diferentes áreas. Se ha mostrado que las RNA presentan un buen desempeño en la identificación y el control de sistemas, independientemente de las no linealidades que presente. Usando estructuras de control basadas en la obtención de modelos numéricos es Dosible, en teoría, realizar el control de cualquier sistema no lineal sin requerir de un modelo matemático a priori [4]. Una búsqueda computacional [5] mostró que durante 1990-1995 fueron publicados, en el área de ingeniería, 9955 artículos con títulos conteniendo las palabras "redes neuronales artificiales". De estos artículos, 8000 trataban sobre aproximación de funciones y reconocimiento de patrones, es decir sistemas estáticos; 1955 artículos estaban relacionados con el control de sistemas usando redes neuronales, de estos últimos sólo 355 artículos fueron ubicados en el área de aplicaciones. De estos, 45% estaban relacionados con aspectos teóricos, aproximadamente el 28% eran estudios de simulación, 23% estaban relacionados con experimentos de laboratorio y un 4% (14 artículos) estaban relacionados con aplicaciones reales. Las estadísticas también revelan que el área de interés de aplicación de las redes neuronales artificiales son los sistemas estáticos, particularmente el reconocimiento de patrones y además, que las aplicaciones prácticas no han tenido un papel importante. Lo anterior se debe sin duda a la complejidad en el diseño, síntesis e implernentaciones suficientemente rápidas de controladores basados en redes neuronales artificiales aplicados a sistemas no lineales reales. Objetivo El objetivo de este trabajo de tesis es el sigue/nte: Desarrollar, implemenfar y evaluar controladores de alto desempetio, basados en redes neurona/es artificiales, aplicados a sistemas no lineales. xi Propuesta Una propuesta interesante para el desarrollo e implementación de controladores para sistemas no lineales es el uso de redes neuronales para la obtención de modelos numéricos adaptabies. Se pretende implementar el esquema de control , . indirecto basado en redes neuronales artificiales. I Los aspectos relevantes a evaluar del controlador basado en redes neuronales serán: Desempeño del esquema de control en la regulación aplicado a dos prototipos de laboratorio. Desempeño del esquema de control en el seguimiento de trayectorias predefinidas. Robustez práctica del sistema ante perturbaciones tales como: error en el conocimiento de los valores de los parámetros del modelo y variación de los valores de los parámetros. Alcances A través del presente proyecto de investigación se pretende: + + t Desarrollar controladores, de alto desempeño basados en redes neuronales artificiales, aplicados a sistemas no lineales. lmplementar prácticamente el esquema de control indirecto basado en redes neuronales artificiales. Evaluar el desempeño del controlador en regulación, seguimiento y robustez. Organización de la tesis En el CAPiTULO 1 se expone la problemática del modelado de sistemas dinámicos usando técnicas de control convencional y técnicas de control moderno; también se proponen las redes neuronales artificiales corno una alternativa para la identificación y el control de sistemas no lineales. En el CAPITULO 2 se presenta la identificación de sistemas dinámicos y se aplican las redes neuronales artificiales a la identificación de dos prototipos de laboratorio. En el CAPITULO 3 se realiza un análisis de sensibilidad del identificador basado en redes neuronales artificiales (neuroidentificador) y se expone la optimización sin restricciones. En el CAPiTULO 4 se expone el método de estimación paramétrica con restricciones, en particular el método de programación cuadrática secuencia1 (SQP). El CAPITULO 5 corresponde a las pruebas y análisis de resultados de la evaluación del esquema de control indirecto implementado en dos prototipos de laboratorio. En el APÉNDICE A se presenta un ejemplo de la implementación del algoritmo SQP en la estimación paramétrica de una red neuronal artificial. En el APÉNDICE B se explica como trabaja el programa de comunicación entre dos computadoras personales, empleando la plataforma de Labwindows. xiii Capítulo 1 Redes neuronales artificiales 1.Iintroducción El primer paso en el estudio de un sistema físico es derivar las ecuaciones matemáticas que lo describen. Esta descripción que deberá ser conveniente computacionalmente y, al mismo tiempo deberá ser una representación adecuada del sistema, es conocida como el modelo matemático. Si sólo interesa el comportamiento final del sistema, una descripción entradasalida o una función de transferencia será adecuada para representarlo. Si, por el contrario, interesa el comportamiento interno del sistema, entonces será útil una descripción en el espacio de estados. Un modelo es una representación aproximada de un sistema físico; se usa para organizar y/o reducir esfuerzos computacionales requeridos en el análisis y diseño de sistemas. Desarrollar un modelo adecuado para un sistema físico complejo es una tarea importante y difícil que requiere la habilidad para determinar cuáles variables físicas o relaciones son importantes para la precisión del modelo y cuáles pueden ser despreciadas. Esto implica que el sistema físico pueda tener varios modelos dependiendo de la cuestión de interés. Capitulo 1. Redes neuronales artificiales Una representación matemática de un sistema fisico se obtiene describiendo matemáticamente la cantidad de diferentes interacciones en los componentes del sistema. Esto se logra aplicando las leyes flsicas que gobiernan tales interacciones de los modelos del sistema. Pero ¿por qué se necesita un modelo matemático para describir un proceso? El objetivo es desarrollar un sistema de control, el cual garantice que los objetivos de operación del sistema sean satisfechos en presencia de ciertas perturbación. El modelo matemático del sistema ayuda en la simulación ya que existen casos en los cuales resulta demasiado costosa o peligrosa la experimentación directa con el sistema; también ayuda para el entrenamiento de personal, y con base en él es posible encontrar una ley de control de tal forma que la salida de la planta siga a una referencia deseada (e.g. en los esquemas de control adaptable). I La teoria de control trata sobre el análisis y sintesis de sistemas dinámicos, en los cuales una o más variables son preestablecidas dentro de ciertos límites. Si las funciones que representan al sistema (modelo matemático), tanto en los estados como en la salida, son conocidas, el problema de control es diseñar un controlador, el cual genere la entrada de control. uconc(k),deseada, basada en toda la información disponible en un instante k. Mientras una amplia variedad de técnicas en el dominio del tiempo y de la frecuencia existen para la síntesis y diseño de controladores para los sistemas lineales, no existen métodos similares para los sistemas no lineales. En las Últimas tres décadas ha existido un gran interés en el control de sistemas en los cuales están presentes las incertidumbres de sus dinámicas. Para asegurar un tratamiento matemático adecuado, la mayoría de los esfuerzos han sido encaminados al control adaptable de plantas lineales invariantes en el tiempo con parámetros desconocidos. Sin embargo, el interés de este trabajo de tesis va enfocado al control de sistemas dinámicos no lineales cuyo modelo matemático no es conocido. I” LOS esquemas de control basados en los sistemas adaptables hacen explícito el uso de modelos para el control, es por ello que han sido estudiados ampliamente. Uno de los sistemas de control adaptable es el sistema de control adaptable con modelo de referencia (MRAC). En la teorla convencional del control adaptable se distinguen dos etapas en el proceso de adaptación al emplear un MRAC para el control de una planta. La primera se denomina parte algebraica, que busca demostrar que el controlador tiene la capacidad suficiente para lograr el objetivo deseado. Es decir, si se conoce alguna información a priori de la planta, se demuestra que el vector de parámetros del controlador, O*, existe para cualquier valor del vector de parámetros, p , de la planta, tal que la salida de la planta controlada junto con el controlador se aproxime asintóticamente a la salida del modelo de referencia. La 1-2 Capítulo 1. Redes neuronales artificiales = segunda etapa es la parte analítica del problema, que consiste en determinar leyes adaptables estables, para ajustar e(k) tal que Iim B(k) = 8* y asegurar que el 3: k-r- error de salida tienda a cero. Y,&) Modelo de referencia : error I Con olador Planta .-fYpla"(t) J Modelo de referencia I / I Y-U) V t+ Co rolador ir I I Figura 1.2 Esquema de control indirecto adaptable con modelo de referencia El problema de control de sistemas no lineales es muy complejo y en algunas aplicaciones presenta una gran cantidad de procedimientos heurícticos. El método 1-3 Capíiiilo 1. Redes iteiiri~i~alc.s ariijicialcs clásico de linealización de sistemas no lineales se realiza de manera local, es decir, en diversos puntos de operacibn del sistema para el cual se obtienen modelos lineales. Este procedimiento tiene la desventaja de que habrá que diseñar un controlador lineal para cada modelo obtenido en cada punto de trabajo. Además, al pasar de un modelo lineal al siguiente, no existen garantías de que el control funcione correctamente, ya que aparecen fenómenos no lineales de mayor complejidad [6,7]. "Para superar estas dificultades, el uso de las redes neuronales artificiales (RNA), en control, se ha incrementado de forma significativa en los últimos años. Su gran habilidad de aprendizaje, ayuda a que el diseño del controlador sea más flexible, especialmente cuando la planta presenta dinámicas complejas y altamente no lineales, según afirma Nguyen y Widrow. Esta es una ventaja distintiva sobre las técnicas de diseño de controladores usando la teoría de control clásico" [8]. 1.2 Descripción de una neurona biológica "Una neurona es una célula viva y, como tal, contiene los mismos elementos que forman parte de todas las células biológicas. Además, contienen elementos característicos que las diferencian. En general, una neurona consta de un cuerpo esférico, de 5 a 10 micras de diámetro, del que salen una rama principal, el axón, y varias ramas más cortas, llamadas dendritas (ver figura 1.3). A su vez, el axón puede producir ramas en torno a su punto de arranque, y con frecuencia se ramifica extensamente cerca de su extremo" [9,10]. Una de las características que diferencian a las neuronas del resto de las células vivas, es su capacidad de comunicarse. En términos generales, las dendritas y el cuerpo celular reciben señales de entrada; el cuerpo celular las combina e integra 1-4 - Capitulo I . Redes neuronales artificiales y emite señales de salida. El axón transporta esas señales a las terminales axónicos, que se encargan de distribuir información a un nuevo conjunto de neuronas. Por lo general, una neurona recibe información de miles de otras neuronas y. a su vez, envia información a miles de neuronas más. Se calcula que en el cerebro humano existen del orden de I O l 5 conexiones [I1,121. La señal generada por la neurona y transportada a lo largo del axón es un impulso .eléctrico, mientras que la señal que se transmite entre los terminales axónicos de una neurona y las dendritas de las neuronas siguientes es de origen quimico; concretamente, se realiza mediante moléculas de sustancias transmisoras (neurotransmisores) que fluyen a través de unos contactos especiales, llamados sinapsis, que tienen la función de receptor y están localizados entre los terminales axónicos y las dendritas de la neurona siguiente [13]. ' Para establecer una similitud directa entre la actividad sináptica y la analogía con las redes neuronales artificiales, vamos a fijar los siguientes aspectos: las señales que llegan a la sinapsis son las entradas a la neurona; éstas son ponderadas (atenuadas o amplificadas) a través de un parámetro denominado peso, asociado a la sinapsis correspondiente. Estas señales de entrada pueden excitar a la neurona (sinapsis con peso positivo) o inhibirla (peso negativo). El efecto es la suma de las entradas ponderadas. Si la suma es igual o mayor que el umbral de la neurona, entonces la neurona se activa (proporciona salida). Esta es una situación todo o nada; cada neurona se activa o se desactiva [14]. 1.3 Redes neuronales artificiales I.3.1 Arquitectura La arquitectura de las RNA está definida por elementos básicos de procesamiento y por la forma en que están interconectados. El elemento básico de procesamiento es la neurona, llamada asi por su analogía con las neuronas biológicas, aunque también es llamada perceptrón (Rosenblati( 1958)) o adaline (Widrow y Hoff (1960)). La mayoría de los elementos básicos de procesamiento está formada por dos componentes (ver figura 1.4) [15,16]: 1) un sumador ponderado, 2) una función de activación. Capitulo I . Redes neuronales artificiales a Función no lineal r' Yi Figura 1.4 Modelo bdsico de una neurona Sumador ponderado El sumador ponderado está descrito por: N ... II xi(t) = za,yj(t) i=1 + z b j k u k ( f +) w j k=l esto da una suma ponderada xi en términos de las salidas de todos los elementos fi ={yi,...,y,& entradas externas uk={u&..unz) y los pesos correspondientes au y bik junto con una constante wi llamada umbral. N de estos sumadores ponderados pueden ser convenientemente expresados en una forma matricial, dada por: x(t) = A y ( t ) + Bü(f) + w donde: (14 A es una matriz de N x N elementos a, B es una matriz de N x M elementos bik w es un vector de N elementos wi y es un vector de N elementos yi Función de activación La función de activación puede ser una simple función lineal o de cualquier otro tipo, por ejemplo una función no lineal tal que g ( . ) proporciona el elemento de salida yi en términos de la salida del sumador ponderado x i [ 1 7 ] , es decir: Y, = dx;) (1.3) La RNA que se utilizará en el desarrollo de este trabajo de tesis se empleará en la neurona de la capa de salida una función de activación lineal y en las neuronas de la capa intermedia una función de activación sigmoidal. La función sigmoidal ha sido empleada en el campo de las redes neuronales artificiales debido a que Cybenko demostró que las RNA con este tipo de función son capaces de 1-6 - Capitulo 1. Redes neuronales artijíciales representar funciones continuas [I 81. Esta función está descrita matemáticamente por: I.3.2Conexiones 1 Las neuronas por si solas no son poderosas en términos de computación o representación, pero el paralelismo de sus interconexiones permiten establecer relaciones entre variables obteniendo grandes capacidades de procesamiento. Se tiene una hipótesis sobre la noción de memoria en las redes biológicas para hacer conexiones sinápticas. Basados en esta hipótesis, los valores o pesos de las conexiones (sinapsis), determinan la “memoria” o “conocimiento” de la red neuronal [19,20]. Algunas de las neuronas en una RNA son llamadas neuronas de entrada y otras de salida, estos dos conjuntos proveen un medio a la red para comunicarse con el mundo exterior. El resto de las neuronas de la red que no entran en estos conjuntos son llamadas neuronas ocultas. En general, las neuronas de entrada pueden conectarse a las neuronas de salida o a las neuronas ocultas, las neuronas pueden conectarse mutuamente a otras neuronas y también pueden conectarse a sí mismas. AI conjunto de neuronas ya sean de entrada, salida u ocultas se le llama capa. Partiendo de este tipo de organización, a través de capas, se distinguen dos sistemas de interconexión de las neuronas: I.Conexiones dentro de capa. Son conexiones entre las neuronas de una misma capa. 2. Conexiones entre capas. Son conexiones entre neuronas de diferentes capas. Las conexiones entre capas permiten que la señal de entrada a la red neuronal pueda fluir a través de ésta en dos formas diferentes dependiendo del tipo de red: i) Flujo en una sola dirección. La señal de entrada a la red sólo fluye en una sola dirección desde las neuronas de entrada hasta las neuronas de salida. ii) Flujo con retroalimentación. En este caso la red tiene una estructura de retroalimentación debido a que las salidas de las neuronas de una capa están conectadas a las entradas de las neuronas de una capa anterior (por ejemplo capa de salida - capa de entrada) [21]. 1-7 1.3.3 Aprendizaje La mayoria de las redes neuronales son sometidas a un procedimiento de "aprendizaje" durante el cual se determinan los valores adecuados de los pesos y umbrales, con el fin de que la RNA logre aprender un comportamiento deseado; para este procedimiento de aprendizaje se requiere el empleo de métodos de estimación de parámetros.. El aprendizaje puede ser supervisado o no supervisado. En el aprendizaje supervisado se le muestra a la RNA la respuesta demandada de ella ante una entrada particular. A través de métodos para minimizar el error entre la salida de la RNA y la salida deseada, se supervisa el aprendizaje. En el aprendizaje no supervisado no se le proporciona a la red la respuesta deseada. La RNA con base en la información o características de los patrones de entrada los acomoda por grupos o secciones [22,23]. 1.4 Clasificación Las RNA pueden clasificarse en dos grupos: el de las RNA no recurrentes (RNANR), mejor conocidas como RNA feedforward, y el de las RNA recurrentes (RNAR). "Las RNANR no tienen capacidad de memoria, su salida está determinada, únicamente, por las entradas actuales y los valores de los pesos, por lo que su entrenamiento se realiza a través de un mapeo estático"[24,25]. "Lac RNAR se denominan así,. por poseer conexiones de retroalimentación, ya sea: entre las neuronas de la capa de salida y las de la capa de entrada, entre las neuronas de la misma capa o entre neuronas de diferentes capas. La existencia de retroalimentación origina que la salida de la RNA se encuentre determinada por las entradas actuales y las entradas previas, teniendo importantes capacidades, tales como la de almacenar información o la de memoria"[26,27] (ver figura 1.5). b) Red neuronal recurrente Figura 1.5 Configuraciones de /as redes neuronales artificiales 1.5 Las redes neuronales artificiales como elementos de control La gran diversidad de sistemas no lineales es la primera razón del por qué no se sistematiza y generaliza la teoría para el diseño de controladores no lineales. Existe un rango de métodos tradicionales en el análisis y síntesis de controladores no lineales, para clases específicas de sistemas no lineales, como por ejemplo: métodos de plano fase, técnicas de linealización y funciones descriptivas [28]. "En aplicaciones prácticas, resulta difícil expresar las dinámicas reales de la planta en ecuaciones matemáticas. Si se agrega a esto las aproximaciones que se realizan en el modelado, el desempeño del controlador, que se diseña con base en el modelo, es deficiente. Los esquemas de control adaptable pueden ajustar al controlador de acuerdo a las características del proceso, previendo un alto nivel de desempeño" [29]. "El control adaptable presenta algunas desventajas. Por ejemplo. existen algoritmos adaptables que trabajan para problemas específicos y no trabajan para un amplio rango de problemas, de tal forma que cada aplicación tiene que ser analizada individualmente. Tales algoritmos utilizan algún conocimiento acerca del proceso para una correcta selección de la identificación del modelo" [30]. En los Últimos años, las RNA han atraído el interés de los investigadores en diferentes áreas, por su capacidad de modelar sistemas no lineales y porque presentan como características principales la capacidad de aprendizaje, procesamiento en paralelo, toma de decisiones, capacidad de generalización y tolerancia a fallas [31,32,33]. 1-9 Capíiulo I . Redes neuronales ani‘ciales 1S.1 Esquema de control indirecto usando redes neuronales artificiales Existen muchas situaciones donde una persona provee en un control la acción de retroalimentación para una tarea particular, donde resulta difícil el diseñar un controlador automático empleando las técnicas convencionales de la teoría de control. Sin embargo, actualmente es deseable diseñar un controlador automático que minimice la acción del ser humano, esto ha sido llamado control supervisado WI. El esquema de control indirecto es un esquema de control supervisado. En este esquema de control, el controlador es usualmente conectado en serie con la planta que será controlada. Sin embargo, para el diseño de tal controlador es necesario conocer el modelo de la planta, que puede obtenerse a través de algún método de identificación. ‘ Es posible emplear una RNA para el control e identificación de una planta en el esquema de control indirecto, en el cual los parámetros de ajuste de la red neuronal artificial del controlador (neurocontrolador) necesitan actualizarse usando el error que está determinado por la diferencia entre la salida de la planta y la referencia deseada. Debido a que el neurocontrolador está conectado en serie con la planta y sus parámetros iniciales son aleatorios, se tiene una señal de control desconocida, lo cual produce un error inicial. Esto lleva a emplear un algoritmo de entrenamiento eficiente, con el finLde obtener una señal de control adecuada. El esquema del control indirecto basado en redes neuronales artificiales se muestra en la figura 1.6 [35]. error refer(k) ucon,(k) J YPb”W *. + . ”...._......sensibilidad ........................’....,. Figura 1.6 Esquema de control indirecto usando RNA Capliulo 1. Redes neuronales ariifciales El objetivo de control está definido de la manera siguiente: donde yp/an(k)=f(üconi(k))y uconi(k)=neurocontrolador(refer(k),wc,vc) w, y v, representan los parámetros del neurocontrolador. Como se mencionó anteriormente, la salida de la red neuronal se compara con la salida de la planta, de tal forma que se emplea como indice de desempeño para minimizar un error cuadrático medio: Un mínimo de la función descrita en (1.6) puede estar dado por: Partiendo del hecho que el modelo de la planta no está disponible o no es conocido, entonces no es posible conocer la sensibilidad, es decir: Sin embargo, esta expresión puede ser estimada a través del uso de una RNA como identificador de la planta, como se muestra en la figura 1.6. Después del entrenamiento del neuroidentificador, e.g. cuando ymo,,(k)=yp/an(k) (basado en un índice de desempeño) se puede suponer que la sensibilidad del neuroidentificador es semejante a la de la planta. Usando ymod(k)en lugar de yPfan(k),el objetivo de control (1 5 )se puede lograr ya que es posible encontrar el mínimo de (1.7). El tipo de RNA originalmente empleado como neuroidentificator es la red neuronal recurrente simple (RNRS) [36],la cual es mostrada en la figura 1.7. 1-11 99- 0555 Capitiilo I . Redes neuronales ariijiciales (b) Capa de salida de la RNRS (a)Estructura de RNRS Figura 1.7 Red Neuronal Recurrente Simple La salida de la RNRS se define como br = vo + CV,f j=r !"C w,x: + o;-' i=0 1 (1 .sa) (1.9b) donde: v y w representan los parámetros de la RNA f(s) representa la función de activación sigmoidal Como se mencionó anteriormente, es necesario emplear un algoritmo de entrenamiento para las redes neuronales artificiales, de tal forma que en el esquema de control indirecto basado en RNA, el neurocontrolador pueda proporcionar una señal de control adecuada con el fin de asegurar que el error entre la salida de la planta y la referencia deseada sea igual a cero. También es necesario emplear un algoritmo de entrenamiento que estime los parámetros del neuroidentificador, de tal forma que se copie la dinámica de la planta y que el error entre la salida de la planta y la salida del modelo (neuroidentificador) también sea igual a cero. 1.6 Algoritmos de entrenamiento' "El desarrollo y popularización de la regla de aprendizaje de retropropagación (backpropagation) ha estimulado fuertemente la investigación en esta área. Sin embargo, el algoritmo de aprendizaje retropropagación (backpropagation) presenta algunas desventajas como son: muy lenta velocidad de convergencia y la necesidad de tener parámetros predeterminados, lo cual limitan el uso práctico de este algoritmo". "Se han reportado muchos algoritmos de entrenamiento para las RNA en la literatura. Algunos son reglas heuristicas para encontrar los parámetros óptimos para el aprendizaje. Otros refinan el método de gradiente descendente para acelerar la convergencia. Otros más, emplean diferentes métodos de optimización no lineal como gradientes conjugados, el método de Newton o las técnicas quasiNewton". "Todos estas mejoras logran mejores velocidades de convergencia y para muchas aplicaciones son suficientes. Sin embargo, para aquellas aplicaciones en las que se requiere una alta precisión en la salida, tal como la predicción de series caóticas de tiempo, los algoritmos conocidos son muy lentos e ineficientes". Para reducir las dificultades descritas se ha propuesto en la literatura un nuevo algoritmo de aprendizaje el cual no realiza una evaluación de gradientes locales. Este algoritmo está basado en la optimización capa por capa de la red neuronal artificial y es llamado algoritmo de aprendizaje mediante optimización capa por capa (aprendizaje OLL por sus siglas en inglés). Las capas son optimizadas alternativamente en un proceso iterativo. El algoritmo de optimización capa por capa se aplica a una red neuronal artificial como la mostrada en la figura 1.5, y se procede como sigue: Se inicia con pesos aleatorios. Con ayuda de estos pesos se calculan los pesos de las conexiones de la capa intermedia con la capa de salida, dejando constantes los pesos de las conexiones entre la capa de entrada y la capa intermedia. Cabe aclarar aquí que no se calculan incrementos en esta capa, se calculan directamente los pesos que hacen que disminuya el error, esto ya es una diferencia con la regla backpropagation que para todas las capas calcula incrementos. Con este primer grupo de pesos optimizados se prueban los patrones de entrenamiento y si el error entre la salida de la planta y la salida del neuroidentificador todavía no llega a la cota establecida entonces se pasa a optimizar el grupo de pesos de las conexiones entre la capa de entrada con la capa intermedia. Aquí sí se calculan incrementos que corresponden solamente a esta capa entrada-intermedia. Nuevamente, una vez optimizado este grupo de pesos se prueban los patrones de entrenamiento y si no se ha alcanzado la cota 1 Este apartado se basa en la referencia [37] y [38] 1-13 ~~~ ~ ~ ~ Capíiulo I . Redes neuronales artificiales establecida se regresa a optimizar nuevamente los pesos del primer grupo. Y así se entra en un ciclo hasta que se encuentren los mejores pesos o, en su defecto, hasta que lleguen a un número de iteraciones establecido por el usuario. Otro punto importante que usa el algoritmo OLL es que en la optirnización de los pesos de la capa entrada-intermedia, a pesar de que se presenta un problema no lineal por causa de la función sigmoidal, el algoritmo OLL lo traduce a un problema lineal. 1-14 Capítulo 2 Identificación de sistemas dinámicos usando redes neuronales artificiales 2.1 Conceptos básicos y notación La caracterización de sistemas es uno de los problemas de gran interés dentro de la teoría de control; este problema consiste en encontrar una representación matemática del sistema a la que se denomina modelo. El modelo de un sistema puede ser representado por medio de un operador P, con base en el espacio de entrada U y el espacio de salida Y. El objetivo es caracterizar la clase P, a la cual pertenece P. Dada una clase P donde el operador P E P , el problema de identificación es determinar una clase P c P y un operador P E P tal que, P se aproxime a P. En sistemas estáticos los espacios U y Y son subconjuntos de R" y Rm, respectivamente, mientras que en un sistema dinámico se asume que son funciones integrables definidas en un intervalo de [O,T] Ó [O, a).En ambos casos, el operador P está definido intrínsecamente por pares de entrada-salida. A Capítulo 2. Idrnii/icacion de sisicmas dinámicos La elección de la clase de modelos de identificación P , así como la especificación del método usado para determinar P , depende de una gran variedad de factores relacionados con la precisión deseada, la manipulación analítica, la manera en la A cual el modelo P puede representar a P, su simplicidad, la facilidad con la que puede ser extendido el modelo y finalmente, si P será usado fuera de línea o en linea. En aplicaciones prácticas muchas de estas decisiones dependen naturalmente de la información a priori que se conozca de la planta que será identificada [39]. . 2.2 Identificación de sistemas estáticos y dinámicos El problema del reconocimiento de patrones es un ejemplo típico de identificación de sistemas estáticos. Los conjuntos compactos de U i c % ” , son mapeados dentro de elementos y,eXrn;(i=l,2,...,m) en el espacio de salida a través de una función P. Los elementos de U, denotan el vector de patrones correspondientes a la clase y,. En los sistemas dinámicos, el operador P se define por funciones de tiempo de pares de entrada-salida u(t), y(f), t E [O,T].En ambos casos el objetivo es determinar P , tal que para todo E > O y una norma definida convenientemente (denotada porllll) sobre el espacio de salida. En (2.1), P ( u ) denota la salida del modelo identificado mientras que y- y = E , es el error entre la salida generada por el modelo y la salida de la planta [40]. 2.2.1 Representación de sistemas Existen diferentes métodos para representar sistemas dinámicos, unos de ellos es representarlos a través de ecuaciones diferenciales o de diferencias, el cual se encuentra actualmente bien establecido en la teoría de control y se aplica a una amplia variedad de sistemas. Por ejemplo, las ecuaciones diferenciales: Capitulo 2. Idenfificacidn de sistemas dinamicos Y ( t ) = y/[x(t)l dónde x u ) = [Xl(t)>XZ(f)'.-, x , ( t ) Y . u ( t )= [u,(t),u*(f),...,up(f)]T Y y ( t ) = Iv,(t>,y,(t),...,y,( t)l'representan un vector de entrada p y un vector de salida rn de un sistema de orden n, u,(t)denota las entradas, x , ( t ) las variables de estado y y , ( t ) las salidas del sistema. @ y Y son mapeos estáticos no lineales definidos como: @:gin x 9lp + F?", y Y :%" -+ 93"'. El vector x(f)denota el estado del sistema en un tiempo f y es determinado por el estado anterior, en un tiempo f, < t , y por la entrada u definida sobre el intervalo [to,t), así la salida y(f), está determinada por el estado del sistema en un tiempo t. Como se puede observar, la ecuación (2.2) es una representación estado. El sistema representado en la ecuación (2.2) puede ser expresado en tiempo discreto de la siguiente forma: donde u ( . ) , x(.)y y(.) son secuencias de tiempo discretas. Si se considera al sistema lineal e invariante en el tiempo, las ecuaciones que gobiernan su comportamiento son: donde A , B y C son matrices de ( n x n ), ( n x p ) y ( rn x n) respectivamente. Entonces, el sistema es representado por la triada (C,B,A), y empleando la teoría de los sistemas lineales invariantes en el tiempo, que involucra los conceptos de controlabilidad, observabilidad y estabilidad que han sido estudiados extensivamente en las últimas tres décadas, es posible encontrar una solución para u(.). La señal de control u ( . ) ,también puede ser determinada con base en la optimización de un criterio de desempeño. El estudio de estos diferentes problemas puede ser fundamentalmente encaminado al hecho de que pueden ser reducidos a una solución de n ecuaciones lineales. En contraste con ésto, los problemas que involucran ecuaciones no lineales de la forma de (2.2), donde las funciones @ y Y son conocidas, conducen a un sistema de ecuaciones algebraicas no lineales cuya solución es difícil de obtener y muchas de las veces es válida solamente para casos particulares [41]. 2-3 Caniiuln 2. Idenfificacih de sisfemas dinámicos 2.2.2 Identificación Cuando las funciones @ y Y en (2.3). o las matrices A, B y C en (2.4) no se conocen, surge entonces un problema de identificación de un sistema desconocido. Esto puede establecerse formalmente como sigue: La entrada y salida de una planta dinámica, invariante en el tiempo, causal y discreta, está dada por u(.) y ypfan(.), respectivamente, donde u(.) es una función del tiempo uniforme y acotada; la planta se asume estable con una representación conocida, pero con los valores de los parámetros desconocidos. El objetivo del proceso de identificación es construir un modelo que pueda sustituir a la planta, de tal forma que cuando se le aplique una señal de entrada, u ( k ) , como a la planta, produzca una señal de salida y,,,,(k), la cual se aproxime a yp,an(k)en el sentido descrito en la ecuación (2.1). ' Los modelos pueden ser construidos y desarrollados de diversas maneras: en forma totalmente teórica, basados en las relaciones físicas que rigen el comportamiento de la planta, o bien en forma empírica con experimentos sobre la planta ya existente, o inclusive mediante una combinación de ambas técnicas. Una forma empirica de realizar una identificación es ver a la planta como una caja negra (ver figura 2.1), a la cual se le aplican señales de entrada y se observan la señal o señales de salida [42]. Figura 2. I Sistema visto como una caja negra El problema de identificación consiste, entonces, en encontrar la relación existente, en términos de ecuaciones matemáticas, entre las señales aplicadas al sistema, u ( k ) y u ( k - I ) , y la respuesta del mismo, ~ ~ , ~ ~ ( k ) , y ~y ~ ~ ~ ypfa,,(k-2). Dependiendo de la dinámica del sistema, es conveniente retroalimentar señales atrasadas tanto del control como de la salida y así emplear diferentes estructuras para la identificación de la planta. En general, se desea que el modelo represente fielmente al sistema bajo las más variadas condiciones de operación, pero es conveniente también que el modelo 2-4 Capitulo 2. Idenrijicación de sisremas dhamicos sea sencillo, lo que conlleva un compromiso entre sencillez y representación fiel del comportamiento de la planta. En la práctica, muchas veces es difícil y complicado determinar el modelo matemático de un sistema físico, por lo que generalmente se realiza una serie de aproximaciones, y algunas veces no es posible incluir en el modelo todas las no linealidades que pudiera presentar la dinámica de la planta. Resulta interesante el emplear una técnica de control inteligente para la identificación de sistemas físicos, de tal forma que la herramienta que se emplee obtenga el modelo de la planta. El reciente surgimiento del paradigma de las redes neuronales artificiales como una poderosa herramienta de aprendizaje, ha mostrado su buen desempeño en la identificación, control y predicción de cualquier sistema, independientemente de las no linealidades que presente, por ello se decidió emplearlo como una estrategia alterna para la identificación y el control de un sistema físico. ' Como se mencionó en el capítulo anterior, una red neuronal artificial se define como "una colección de unidades llamadas neuronas, que se comunican unas con otras por medio de conexiones llamados pesos". El aprendizaje de la red neuronal se lleva a cabo a través de un entrenamiento, que consiste en encontrar los valores adecuados de los..pesos (wi,vj)y de los umbrales (bi) que satisfacen un conjunto de datos entrada-salida de la planta (ver figura 2.2). AI proceso de encontrar los valores adecuados de los pesos (wi,v,) y de los umbrales (bJ,se le denomina estimación paraméfrica. En el presente trabajo, la identificación de la planta se llevó a cabo a través del esquemas de identificación paralelo y del esquema de identificación serieparalelo. 2-5 Capiirrio 2. Idrnlificacidn de sisirmas dimimicos 2.2.3 Esquemas de identificación c- .'7 En el esquema de identificación serie-paralelo, tanto la señal de entrada como la señal de salida de la planta son conectadas directamente a la entrada del identificador, y la diferencia entre la respuesta del identificador y la respuesta de la planta, e@). se usa como un índice de desempeño para satisfacer un conjunto de datos entrada-salida en el proceso de estimación paramétrica. De esta forma el identificador no sólo se encuentra en serie, sino que también en paralelo con la planta (ver figura 2.3). Planta G I,)k(t"oc" Y p l A ....... r' ldentificador F e(k) Y k(), Figura 2.3 Esquema de idenlificacibn serie-paralelo En tanto que en el esquema de identificación paralelo, la entrada de la planta se conecta a la entrada del identificador y la diferencia entre la respuesta del identificador y la respuesta de la planta, e@), se usa como un índice de desempeño para satisfacer un conjunto de datos entrada-salida en el proceso de estimación paramétrica. De esta forma el identificador solamente se encuentra en paralelo con la planta (ver figura 2.4) [43,44,451. ldentificador F Figura 2.4 Esquema de identificación en paralelo Durante el proceso de identificación se encuentran los parámetros de un modelo propuesto y se ajustan (sintonizan), con el fin de optimizar una función de desempeño basada en el error, e@), entre la salida del modelo y la salida de la planta. El proceso de identificación con una red neuronal artificial consiste en ajustar los parámetros de la RNA (umbrales y pesos) empleando algún algoritmo de estimación paramétrica (etapa de entrenamiento de la RNA), basado en el error entre la salida del neuroidentificador y la salida de la planta. En las identificaciones realizadas a los procesos que se describen a continuación se empleó el algoritmo de entrenamiento de optimización capa por capa (OLL), para 2-6 Capitulo 2. Identificación de risIemas dinamicos redes neuronales artificiales recurrentes simples [46]. En el apéndice C se propone una metodología para el entrenamiento de una RNA. Se consideran tres casos de estudio para la etapa de identificación a través de una RNA usando el algoritmo de entrenamiento OLL. I.lntercambiador de calor RCT 100 2. CEI 10 Servo Trainer. 3. Módulo de regulación de flujo. ' 2.3 Casos de aplicación 2.3.1 lntercambiador de calor RCT I100 ' Un caso de estudio es un módulo de temperatura RCT 100 de DIDATEC TECHNOLOGIE, que se muestra en la figura 2.5 [47]. El intercambiador de calor consiste de dos tubos, uno dentro del otro, en el tubo de menor diámetro (línea dentro del tubo de mayor diámetro) circula agua caliente que proporciona el termorregulador, la circulación de esta agua caliente provoca que el agua que fluye en el tubo de mayor diámetro incremente su temperatura debido al intercambio de energía calorífica. Aquí lo que interesa es mantener a una cierta temperatura el agua que fluye en el tubo de mayor diámetro, agua fría. Si se requiere una mayor temperatura en el agua fría se abrirá la válvula de regulación, en caso contrario se cerrará. El problema consiste en mantener la temperatura de un fluido, en este caso agua, a una temperatura deseada, mediante la transmisión de calor que proporciona un fluido caliente (agua caliente), a mayor flujo de agua caliente más rápido es el calentamiento del agua fría. El flujo de agua caliente es controlado por una válvula de regulación, mientras que el flujo de agua fría es controlado por la válvula de perturbación. El agua caliente es suministrada por el termorregulador, el agua fría es suministrada por la red. La entrada del actuador es para controlar el porcentaje de apertura de la válvula de regulación. La salida del sensor caliente es para monitorear la temperatura del agua caliente que proporciona el termoregulador, lo mismo se aplica para el caso de la salida del sensor frío para la temperatura deseada del agua fria. I. 2-7 Capiftilo 2. IdenfiJicaridn de sisfemas dinámicos + IConvefiidorF- . Salida del sensor Caliente -----pGziz++ . Salida del sB”so, lri0 Grupa lemorregulador Figura 2.5 Esquema del intercambiador de calor RCT 100 de DlDATEC TECHNOLOGE. 2.3.1 .IIdentificación del sistema con un neuroidentificador empleando el algoritmo OLL Para la etapa de identificación se requirió de la adquisición de datos de la temperatura de la planta, y,,=”, (con un tiempo de muestre0 de 10 seg ,[48]) al aplicar una trayectoria predefinida u,,, , en la válvula de control, con ésto se ,y,,,,) (ver figura 2.6). obtuvo un conjunto de datos de entrada-salida(u,,,, Muestras (Tiempo de muestre0 10 seg) Figura 2.6 Patrones de entrenamiento tomados del intercambiador de calor RCT 100, las muestran fueron tomadas cada 10 segundos. 2-8 Capitulo 2. Identificación de sistemas dinamicos El proceso de identificación con redes neuronales artificiales, se realiza a través del entrenamiento de la misma, es decir, se estiman los parámetros de la RNA para satisfacer el conjunto de datos entrada-salida mostrados en la figura 2.6. Lo anterior es hecho de tal forma que logre copiar la dinámica de la planta y las no linealidades que pudiera presentar ante la señal de entrada aplicada. La forma de identificar la planta usando una RNA se debería hacer, en principio, dando como entrada a la red el porcentaje de apertura de la válvula del RCT 100 y como salida la temperatura correspondiente, usando los datos que se muestran en la figura 2.6. Esto correspondería a un esquema de identificación en paralelo, es decir, la RNA tendría una neurona en la capa de entrada y una neurona en la capa de salida. Sin embargo, la RNA no puede aprender dos comportamientos distintos para una misma señal de entrada y los datos de la figura 2.6 presentan esta caracteristica. Esto se debe a que la dinámica de la planta es muy lenta. Para solucionar el problema se agrega a la RNA una entrada extra, la cual es simplemente la salida retardada en una unidad de tiempo (ver figura 2.7) y después se vuelve a entrenar. Figura 2.7 Esquema serie paralelo para la identificación de la planta RCT 100 Con esto lo que se logra es cambiar los datos de entrada y hacer que obedezcan al comportamiento de una función, es decir, se cambió de dominio. Por lo tanto, para hacer la identificación la red se entrena con dos vectores de entrada y un Único vector de salida. Los vectores de entrada están conformados, uno por el porcentaje de apertura de la válvula y el otro por la salida de la planta retrasada una unidad de tiempo, en este caso la unidad de tiempo corresponde al tiempo de muestre0 de 1O segundos. La salida deseada es la salida actual de la planta. Asi, para llevar a cabo la identificación del RCT 100 por medio de una RNA se usaron 1699 datos. La estructura de la RNA propuesta consiste de 2 neuronas en la capa de entrada, 10 neuronas en la capa intermedia y 1 neurona en la capa de salida, así que se tienen que estimar 51 parametros; fue necesario realizar 100 iteraciones para cumplir con el criterio de error propuesto. La figura 2.6 muestra los patrones de entrenamiento de la RNA mientras que en la figura 2.8 se muestra la respuesta del intercambiador de caioi RCT 100 y la respuesta del modelo obtenido a través del neuroidentificador. 2-9 Capifiilo 2. Identificacidn de sisfemas dinamicos I;2 : O 200 400 600 800 1000 1200 1400 1600 Muestras (Tiempo de muesireo 10 seg) Figura 2.8 Respuesta del Nitercambiador de calor RCT 100 y de/ modelo, las muestran fueron tomadas cada 10 segundos. 2.3.1.2 Pruebas de generalización del modelo obtenido con el neuroidentificador El proceso de generalización en una RNA consiste en evaluar el comportamiento del modelo obtenido con el neuroidentificador, ante datos no empleados en el entrenamiento; se desea que la salida del modelo sea igual a la salida de la planta. Existen tres condiciones necesarias, pero no suficientes para lograr una buena generalización: a) La primera condición establece que los datos de entrada a la red neuronal artificial deben de contener suficiente información del comportamiento de la planta, de tal forma que exista una función matemática que pueda representar dicho comportamiento en forma precisa, esto puede lograrse al aplicar una señal tipo rampa o senoidal. b) La segunda Eondición necesaria implica que la función que se desea aprender sea suave. En otra palabras, que ante un pequeño cambio en las entradas debe producirse un pequeño cambio en las salidas. Muchas funciones no suaves, como las producidas por secuencias pseudoaleatorias no pueden ser generalizadas por las redes neuronales artificiales, por ello no puede aprender el comportamiento que presenta una planta al ser excitada por este tipo de señales 1491. 2-10 Capítulo 2. Identijieacidn de sistemas dimimicos c) La tercera condición necesaria para una buena generalización, establece que el conjunto de casos de entrenamiento es representativo del subconjunto de casos que se desean generalizar. A continuación se presenta la primera prueba de generalización, para ésto se usan 267 datos. Para obtener estos datos el intercarnbiador de calor RCT 100 se excitó con un conjunto de rampas cuya pendiente creciente llega hasta 70% de apertura en la válvula de control, después decrece hasta cerrar completamente la válvula de control, el incremento y decremento en la válvula fue del 2.5% en cada tiempo de muestreo, y se obtuvieron las salidas que se muestran en la figura 2.9. , I Muesiras (Tiempo de muestre0 10 seg) Figura 2.9 Doscientos sesenta y siete datos extraídos de la respuesta de , intercambiador de calor RCT 100 ante rampas para pruebas de generalización de la RNA, cada muestra fue tomada por intervalos de 10 segundos. Después se aplicó el mismo conjunto de rampas al modelo obtenido con el neuroidentificador y entrenado con el algoritmo OLL. Cabe hacer la aclaración que una de las entradas a la RNA es la señal de salida de la planta retrasada en una unidad de tiempo. Como la RNA ha sido entrenada con anterioridad y ha copiado la dinámica del intercambiador de calor RCT 100, su respuesta debe ser la misma que la de la planta, la figura 2.10 muestra que ésto se cumple. Como se puede observar en la misma figura, la RNA tiene la capacidad de generalización, ya que la diferencia entre la temperatura de la planta y la del modelo es mínima. I) wr B 'lb 1 .¡I ' I¡ , 1 . 50 ~ 100 150 200 Mue~iras(Tiempa de rnuesireo 10 589) 11 i .I 250 Figura 2.10 Salida de la pianfa y salida del modelo (entrenado con el algoritmo OLL) para los datos de entrada de la figura 2.9. 11 ' Para la segunda prueba de generalización se tomaron 300 patos, los cuales se muestran en la figura 2.1 I . Los datos de entrada correspoqde al porcentaje de apertura de la válvula y los datos de salida corresponden allla temperatura de la planta. La señal de apertura de la válvula está descrita por I1 u,,,,(k)= 15.0*(sin(0.0062* k)+sin(0.031*/0)+3.0. '1 II M~eslras(Tiempa de r n u e s V ~10 leg) 'I Figura 2.1 ITrescienios datos extraídos del intercarnbiador de calor RCT 100 para pruebas de generalización d d modelo obtenido con el neuroidentificador, cada muestra fue tomada por intervalos de 10 segundos. I1 En esta segunda prueba de generalización se realizó el mismo procedimiento que para la primera. En la figura 2.12 se puede observar la temperatura de salida del intercambiador de calor y la salida de temperatura del modelo. AI igual que en la prueba anterior, se puede observar que la RNA !tiene la capacidad de generalización, ya que la diferencia entre la temperatura de la planta y la del modelo es mínima. 'I 11 I1 I - 't 2-12 --.------ .lb ~ ~~ . .. . ~ . ~. ~~ . . -~ II . . -. 3. '. . *. ' , .I^ ~ .r .- ,1 : . .Capitulo 2. Ideniifícacidn de sisiemas dinanlicos - I* ., .. L r:I :,.. ' I " 'I Figura 2.'12 Respuesta del modelo obtenido con el neuroidentificador para los datos de la figura 2.11. .. f. . . 1. - . 2.3.2 CEI 10 Servo Trainer . , ' . , . 1 ,7, - El CEI 10 Servo Trainer esta enfocado 'específicamente a los problemas de velocidad y posición que son comunes en la industria. Esta planta puede ser usada para el diseño práctico de controladores clásicos y es posible evaluar su desempeño [50]. I t , Es posible examinar el control de velocidad de la flecha rotatoria con diferentes cargas e inercias. Incluye la facilidad de adicionar un engrane como carga, operado por un embrague eléctrico, unacarga en la flecha con una caja de cambios y un sensor de posición. Una característica especial del CEI 10 Servo Trainer es que incluye un conjunto de elementos no lineales típicos los cuales son asociados con el control en el seguimiento de una trayectoria. El CEI 10 Servo Trainer se muestra en la figura 2.13. Éste incluye un motor de CD con flecha rotatoria en la cual pueden ser montados los siguientes componentes: Una carga inercial. Un tacómetro para la medición de velocidad de la flecha. Un generador que es usado como carga eléctrica al motor. Un amplificador para el motor, el cual provee la potencia para que la flecha gire. " . . . 2-13 Capifuío2. Idenfificacidn de sisfemas dinamicos .. . 5 , , n Muesiras(Tiempo de muestreo 0.4 seg) . i ! . Figura 2.15 Patrones de entrenamiento tomados del CEllO Servo Trainer, el tiempo de muestreo fue de 0.4 segundos. .? ' ., .. , . . ., , i . - Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de entrada que fueron aplicados al motor (planta), con el fin de comparar su comportamiento contra el comportamientó real de la planta ante la misma señal de excitación (ver figura 2.1 6). ! i Y ! I I i i I I O 2 4 6 8 10 12 14 16 18 20 Muestras(Tiemp0 de muestre0 0.4 seg) Figura 2.16 Respuesta del CEI 10 Servo Trainer y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. Como lo muestra la figura 2.1 6, el comportamiento del modelo es el esperado y la diferencia entre las señales es mínima. 2-16 Capitulo .2. Idenfificacidn de sisfemas dinámicos 50 . . 100 150 200 250 Muestras (Tiempo de muesireo 10 seg) IO Figura 2.12 Respuesta del modelo obtenido con el neuroidentificador para los datos de la figura 2.11. 2.3.2 CEI 1O Servo Trainer El CEllO Servo Trainer está enfocado específicamente a los problemas de velocidad y posición que son comunes en la industria. Esta planta puede ser usada para el diseño práctico de controladores clásicos y es posible evaluar su desempeño [50]. Es posible examinar el control de velocidad de la flecha rotatoria con diferentes cargas e inercias. Incluye la facilidad de adicionar un engrane como carga, operado por un embrague eléctrico, una carga en la flecha con una caja de cambios y un sensor de posición. Una característica especial del CEI 10 Servo Trainer es que incluye un conjunto de elementos no lineales típicos los cuales son asociados con el control en el seguimiento de una trayectoria. El CEI 10 Servo Trainer se muestra en la figura 2.13. Éste incluye un motor de CD con flecha rotatoria en la cual pueden ser montados los siguientes componentes: Una carga inercial. Un tacómetro para la medición de velocidad de la flecha. Un generador que es usado como carga eléctrica al motor. Un amplificador para el motor, el cual provee la potencia para que la flecha gire. 2-13 Capitulo 2. Identificacidn de sistemas dinámicos Un embrague operado eléctricamente para habilitar el amplificador del motor, el cual se conecta a una flecha secundaria llamada la posición de la flecha de salida. Esta se conecta a: 6 Una caja de engranes reductora en un radio 30:1, que sirve como carga mecánica, 6 Un sensor de posición para la flecha con un indicador visual de calibración. La velocidad del motor se determina por el voltaje CD aplicado al amplificador de entrada. De igual manera, la carga del generador se determina por una entrada externa. Ambas son arregladas para operar en el rango de +1OV (O a 1OV en el caso del generador). El sensor de velocidad y de posición de la flecha dan una salida en el rango de O a IOV. Una puerta en la parte trasera del lado izquierdo permite el acceso para cambiar el tamaño de la carga inercia1 adicionando o quitando los discos de inercia. Además de estos componentes, el CEI10 Servo Trainer contiene una serie de elementos no lineales . Estos se encuentran localizados en la parte superior del panel principal. Un bloque de anti-zona muerta para eliminar cualquier zona muerta introducida deliberadamente o inherente al motor CEI 10. Un bloque de zona muerta para introducir una zona muerta que puede ser estudiada. Un bloque de saturación que permite saturar el amplificador del servo-drive. Un bloque de histéresis que puede ser aplicado al sistema. Unidad de no linealidades - Salida de la unidad no lineal salida del tac(imetro o-riov generador - l o a +1OV Conmutador entrada al motor electnw Figura 2.13 CE11O Servo Trainer 2-14 Capítulo 2. Ideniificacidrr de sisiemas dinámicos 2.3.2.1 Identificación del sistema con un neuroidentificador empleando el algoritmo OLL Para poder realizar el proceso de entrenamiento de la red neuronal artificial recurrente, fue necesario aplicar la señal de entrada u,,, en el amplificador que proporciona la señal adecuada al motor, y obtener los datos de la velocidad de la planta, ypran. Con ésto se obtuvo un conjunto de datos de entrada-salida. Como se mencionó el proceso de identificación con redes neuronales artificiales, se realiza a través del entrenamiento de las mismas, de tal forma que logre copiar la dinámica de la planta. La constante de tiempo de este sistema es aproximadamente de 1.5 seg [51]. Se recomienda un tiempo de muestreo entre 0.1 a 0.3 veces la constante de tiempo del sistema [52,53]. Para el caso específico se propuso un tiempo de muestre0 de 0.4 seg. Debido a que la dinámica del sistema es rápida, es posible emplear un modelo de identificación paralelo, como se muestra-en la figura 2.14 umnt(k) , 14- SeNo Trainer , +p(k) Figura 2.14 Esquema paralelo para la identificación de la planta CE1 I O Servo Trainer Para llevar acabo el entrenamiento de la RNA se usó la rampa de 21 datos, que se muestran en la figura 2.15. La señal de entrada es u,,, ( k )= u,,, ( k - I)+ 0.5 volts, el tiempo de muestreo es de 0.4 segundos. La configuración usada para la red neuronal artificial recurrente fue de 1 neurona en la capa de entrada, 4 neuronas en la capa intermedia y 1 neurona en la capa de salida. Se requirió de 50 iteraciones para lograr satisfacer el criterio de error propuesto. 2-15 Caphilo 2. iúeniiflcacidn de sisiemas dinámicos I 1 Muestras(Tiemp0de muestre0 0.4 seg) Figura 2.15 Patron& de entrenamiento tomados del CE110 Servo Trainer, el tiempo de muestreo fue de 0.4 segundos. . Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de entrada que fueron aplicados al motor (planta), con el fin de comparar su comportamiento contra el comportamiento real de la planta ante la misma señal de excitación (ver figura 2.16). 9 , , , , , , , , , , , 8. 765. 4. 3- t. 1. 0 % " " ' , I Muestras(Tiernp0de muestre0 0.4 seg) Figura 2.16 Respuesta del CE110 Servo Trainery del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. Como lo muestra la figura 2.16, el comportamiento del modelo es el esperado y la diferencia entre las señales es mínima. 2-16 - Capitulo 2. Idenrifiración de sistemas dinamicos 2.3.2.2 Pruebas de generalización del modelo obtenido con el neuroidentificador En la primera prueba de generalización, se usó un conjunto de 163 datos. Para obtener estos datos, el Servo Trainer se excitó con una señal senoidal descrita por uco,,,(k)= 2.8 + 1.2 sin(0.2454 k) volts. La señal de excitación y la respuesta de la planta se muestran en la figura 2.1 7. I Mueslras(Tiempode muestre0 0.4 sea) Figura 2.17 Señal senoidal para evaluar el modelo del C E l l O Servo Trainer y respuesta del mismo, el tiempo de muestreo fue de 0.4 segundos. Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con el neuroidentificador y entrenado con el algoritmo OLL. En la figura 2.18 se puede observar la velocidad del motor y la velocidad del modelo. Mueslas(Tiemp3de muestre0 0.4 seg) Figura 2.18 Respuesta de/ C E l l O Servo Trainery de/ modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. Capitiilo 2. Ideniijicación de sisfemas dinámicos Como muestra la figura 2.18, el comportamiento del modelo es el esperado, la salida de la planta en la parte inferior de la señal de cotitrol del motor es ypian(45)= 1.0686 volts y la salida del modelo es aproximadamente y"od(45) = 0.9647volts. io cual corresponde a un error del 10.76%. Muerbas(Tiemp de rnUesVen ü.1 seg) Figura 2.19 Ciento cinco datos obtenidos del CEllO Servo-Trainer para pruebas de generalización de la RNA, cada muestra fue tomada por intervalos de 0.4 seg. ; Para la segunda prueba de generalización, se tomaron 105 datos, los cuales se muestran en la figura 2.19. La señal de excitación está descrita por u,,,, (k)= 5.0+ 2.0 * sin(0.2454 k). Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con el neuroidentificador y entrenado con el algoritmo OLL. En la figura 2.20 se puede observar la velocidad del motor y la velocidad del modelo, y se muestra que existe una diferencia de 0.1747 volts en la región inferior de la senoidal, lo cual equivale a un error de 7.869%. MUeSbas(TiernpO de rnueslren 0.4 reg) Figura 2. 20 Respuesta de/ CEI 1 O Servo Trainer y de/ modelo obtenido con /a RNA, e/ tiempo de muestre0 fue de 0.4 segundos. Capitirlu 2. Idenlifcación de sistemas dinamicus Por lo tanto, se puede concluir que el modelo obtenido para el CEllO Servo Trainer a través del neuroidentificador representa el comportamiento esperado de la planta. 2.3.3 Módulo de regulación de flujo ES un módulo de regulación de flujo de FESTO DIDACTIC (ver figura 2.21) [54]. La idea principal es controlar, a través de una bomba de CD, el flujo de un liquido que se encuentra en un contenedor. Este sistema presenta los siguientes componentes: Una bomba de CD que permite la circulación continua del líquido y a través de la cual se controla el flujo; tiene un rango de operación de O a 10 litros/min; su señal de excitación corresponde a un rango de O a 24 VCD. Un sensor de flujo que va montado sobre la tubería; presenta un rango de medición de 0.5 a 15 litroslmin; su señal de salida es una onda cuadrada con amplitu'd de 5 a 12 V, y con base en la frecuencia se determina el flujo del líquido. Un contenedor para almacenar el líquido; en este caso agua. Una válvula manual que se emplea para aplicar una perturbación sistema. I 1 periurbación Bomba Figura 2.21 M6dulo de regulacidn de flujo al Capirido 2. Ideniijicacidn de sisiemos dinámicos 2.3.3.1 Identificación del sistema con un neuroidentificador empleando el algoritmo OLL La etapa de identificación se requirió de la adquisición de datos del flujo de la planta, Y ~ , ~ "al , aplicar una trayectoria predefinida u,,, , en la bomba de CD, Con ésto se obtuvo un conjunto de datos de entrada-salida. Figura 2.22 Esquema paralelo para la identificación del módulo de regulación de flujo Para llevar acabo el entrenamiento de la RNA se usó la rampa de 16 datos, que se muestran en la figura 2.23. La señal de entrada es u,,,(k)=u,,(k-1)+0.5 volts, el tiempo de muestre0 es de 0.4 segundos. La configuración usada para la red neuronal artificial recurrente fue de 1 neurona en la capa de entrada, 4 neuronas en la capa intermedia y 1 neurona en la capa de salida. Se requirió de 50 iteraciones para lograr satisfacer el criterio de error propuesto. Muestras(Tiempnde muestren 0.4 seg) Figura 2.23 Patrones de entrenamiento tomados del módulo de regulación de flujo, el tiempo de muestreo fue de 0.4 segundos. 2-20 Cap¡iulo 2. Identificación de sisiemas dinamicos Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de entrada que fueron aplicados al motor (planta), con el fin de comparar su comportamiento contra el comportamiento real de la planta ante la misma señal de excitación (ver figura 2.24). 12 I . Muesiras(Tiempo de rnuesireo 0.4 seg) Figura 2.24 Respuesta del mddulo de regulacidn de flujo y del modelo obtenido con la RNA. el tiempo de muestreo fue de 0.4 segundos. Como lo muestra la figura 2.24, el comportamiento del modelo es el esperado y la diferencia entre las señales es mínima. 2.3.3.2 Pruebas. de generalización neuroidentificador del modelo obtenido el En la primera prueba de generalización, se usó un conjunto de 163 datos. Para obtener estos datos, el módulo de regulación de flujo se excitó con una señal senoidal descrita por u,,,, (k)= 5.0 +2.0 sin(0.2454* k ) volts. La señal de excitación y la respuesta de la planta se muestran en la figura 2.25. 2-2 1 Copitulo 2. Identificacidn de sistemas dindmicos O 20 40 KO 80 1w Muestras(Tiernp0 de muestre0 0.4 seg) Figura 2.25 Ciento cinco datos obtenidos de/ módulo de regulación de flujo para pruebas de generalización de la RNA, cada muestra fue tomada por intervalos de 0.4 seg. Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con el neuroidentificador y entrenado con el algoritmo OLL.En la figura 2.26 se puede observar el flujo del módulo y el flujo del modelo. O 20 40 KO 80 103 I Muestras(Tiemp0 de muestre0 0.4 seg) Figura 2.26 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de muestre0 fue de 0.4 segundos. ' Se puede observar que la RNA tiene la capacidad de generalización, ya que la diferencia entre el flujo de la planta y el flujo del modelo es mínima. 2-22 Capítulo 2. Ideniifiración de sistemas dinamicos 2.4 Identificación para el control de sistemas Uno de los esquemas de control en los cuales se puede implementar la RNA, es el esquema de control indirecto, que se muestra en la figura 2.27. error UC0"ik) Planta Ypi,"(k) + . . .. '.., Neuroidentificador / '.. "...._______.......______. sensibilidad '... .............. Figura 2.27 Esquema de control indirecto Este esquema de control consta de dos etapas: 1. La primera etapa consiste en realizar una identificación del sistema; en este caso a través de un neuroidentificador(RNA), el cual copia la dinámica del sistema. El neuroidentificador ajusta sus parámetros con base en un índice de desempeño o criterio de error que está dado por la diferencia de la ., salida del sistema y la salida del modelo. 2. La segunda etapa consiste en encontrar una ley de control adecuada, a través del neurocontrolador, de tal forma que la salida de la planta siga a una referencia deseada. AI implementar la segunda etapa del esquema de control indirecto para los casos de estudio anteriormente planteados, no fue posible lograr el comportamiento deseado, es decir, que la salida de la planta, yplan(kJ.siga a la referencia deseada, refer(k). El neurocontroiador necesita dos elementos para el ajuste de sus parámetros; uno es el índice de desempeño que está dado por la diferencia entre la salida de la planta y la referencia deseada y es una función que se propone. El otro elemento es un elemento llamado sensibilidad del modelo. La sensibilidad del modelo se define como "la razón de cambio que existe en la salida respecto a la razón de cambio de la entrada en un instante de tiempo". 2-23 Capitulo 2. Ideniificacidn de sistemas dinámicos Sensibilidad = ay pia0 ( kU,,", 1 a"C0"l (2.5) En las gráficas de respuesta del intercambiador de calor RCT 100 y del CEl10 Servo Trainer, se puede observar que ambas plantas tienen un comportamiento monótono, es decir, si la señal de entrada u,, crece, la señal de salida yPian también crece, y viceversa, si la señal de entrada u,,,, decrece, por lo tanto la sensibilidad es positiva. I decrece, la salida y,,=, Con los métodos generalmente usados para la estimación parametrica, de los parámetros W , y V, que son los pesos de la capa intermedia y de la capa de salida del neuroidentificador respectivamente, existe la posibilidad que la sensibilidad del modelo no siempre sea positiva. Esto se debe a que dichos métodos se basan en la generación y solución de un sistema de ecuaciones lineales, en las cuales, si la solución existe es única y el vector solución puede estar formado por valores positivos y negativos. Así que siempre es posible la existencia de un conjunto de datos entrada-salida para los cuales el comportamiento del modelo no sea el adecuado. Como se mencionó con anterioridad, en el esquema de control indirecto basado en redes neuronales artificiales se calcula una ley de control con base en el modelo numérico obtenido con el neuroidentificador. Sin embargo, si éste modelo numérico no representa adecuadamente a la planta, aún cuando se tenga un método eficaz para calcular la ley de control, ésta no será la adecuada para controlar a la planta, será adecuada para controlar al modelo. Por esto se requiere tener un buen modelo numérico para encontrar una ley de control adecuada y así satisfacer el objetivo de control. En el siguiente capítulo se hará un análisis de sensibilidad para demostrar que los modelos numéricos obtenidos no siempre pueden presentar un buen comportamiento cualitativo, por lo que el esquema de control indirecto no tuvo el desempeño adecuado en el control de los casos de estudio. 2-24 Capítulo 3 Análisis de sensibilidad .y optimización . . restricciones SUI 3.1 Análisis de sensibilidad Para llevar a cabo el análisis de sensibilidad, se comenzará por mencionar el objetivo de control, el cual está definido de la siguiente manera [55,56]: /imllrefer(k)-y,,,,(k.u,,, k+m ]I E (3.1) donde E es un criterio de error, que puede ser definido como un error cuadrático medio [57,58]: 1 E =-(refer(k)-y,,(k.u,,,, 2 >)’ (3.2) Como puede observarse, el error está en función de k, que es el tiempo discreto, y de que es la señal de entrada a la planta. El error varía sólo si la señal de Capitulo 3. ~liialisisde seiisihilidadg optimizacihi sin resrrircioni*s entrada, uconl,varía, de tal forma que para un valor deseado de salida, refer(k), el valor de salida de la planta, yPi,,, puede ser mayor o menor (ver figura 3.1). error t Figura 3.1 Gráfica del error cuadrático medio Es evidente que el mínimo de (3.2) se puede encontrar derivando la ecuación respecto a u,,,~. Así. (3.3) El término dY pla"(kJ UCO"1 I es llamado sensibilidad de la planta [59,60,61]. La ' duc,*t sensibilidad se define como la variación que existe en la salida respecto a la variación existente en la entrada para un tiempo k. Sin embargo, no se conoce la expresión matemática que describe el comportamiento de la planta y por ello dY pian fkUcont I no es conocida. Si se propone un modelo, tal que: dUCO", Ym,(k~,,,,,P)= Ypian(kUcon,) (3.4) donde p es el vector de parámetros del neuroidentificador, se puede establecer que [62]: dYmo~(k,ucon~ P P I = dYpm dU,"l con^ dumt (3.5) La obtención del modelo (neuroidentificador) se realiza en la etapa de identificación, el objetivo del neuroidentificador es copiar la dinámica de la planta. El criterio de error de este modelo puede establecerse también como un error cuadrático medio, el cual está dado por la siguiente ecuación: 3 -2 Capitulo 3. Analisis de sensibilidad y oprimizacidn sin restricciones el minimo se encuentra expresado por: (3.7) ") es la sensibilidad del modelo respecto a los parámetros, dP p=[w;,vJ, del neuroidentificador. donde dYmod(k'Uconf Recordando que para satisfacer el objetivo de control se debe conocer el término Suponiendo un sistema monótono, es decir, si la entrada crece la salida crece y viceversa, si la entrada decrece la salida decrece, entonces la sensibilidad de la planta es positiva. La salida para una red neuronal recurrente simple [63].está dada por: (3.8.a) (3.8.b) (3.8. c) La función de activación de cada neurona es una función sigmoidal definida como 4 I f ( s )= __ 1+ e-' y su derivada es: f'(S)= f(s)[l-f(s)]- (3.9) ds W 0 " l (3.10) Capiiulo 3. Analisis de sensibilidad y oprimiración sin resiricciones Por lo tanto, la sensibilidad de una red neuronal recurrente simple está dada de la siguiente manera: (3.11 ) De la ecuación (3.11) se puede observar que como f(sh) varía entre O y 1 y su complemento entre 1 y O, para obtener una sensibilidad positiva los pesos whj y Vh de la red neuronal deberán ser ambos positivos o ambos negativos. Con los métodos de estimación paramétrica generalmente usados para las RNA, aun y cuando se asegura que y,,(k,u,,)=Y,,~~(k,u,,,,) Y que dymo,j(k,UcOn, % dYpian(k,ucanr ) , la sensibilidad no se cumple de manera general, du,,, es decir, siempre es posible la existencia del conjunto de datos entrada-salida para los cuales el comportamiento del modelo no sea el adecuado. Esto se debe a que tales métodos consisten en la generación y solución de un sistema lineal, por lo que la solución, si existe, es Única y los parámetros de solución pueden ser positivos o negativos. duce,, ' Con el propósito de mostrar la falla de estos métodos a continuación se hará un análisis de sensibilidad para una planta. 3.1.1 Análisis de sensibilidad para el modelo del CE110 Servo Trainer. El CEllO Servo .Trainer es un sistema monótono debido a que cuando se incrementa la señal de voltaje de entrada, uconf.existe un incremento en la velocidad, y,, y viceversa, es decir, cuando existe una disminución en la señal de entrada, también la velocidad disminuye. Por lo tanto la sensibilidad de la planta es positiva. Como se mencionó en el capítulo anterior, se obtuvo un modelo válido a través de un proceso de identificación con una red neuronal artificial recurrente simple. El algoritmo empleado para la estimación de los parámetros de la RNA es el algoritmo de optimización capa por capa (OLL); la estructura de la RNA es la que se muestra en la figura 3.2. 3 -4 Capitulo 3. Análisis de sensibilidad y optimización sin restricciones Entra Pesos de la capaf u Figura 3.2 Estructura del neuroidentificador empleado para la identificación de/ CEllO Servo Trainer usando OLL Los parámetros de la red neuronal artificial son los umbrales, bi, Ips pesos de la capa intermedia, wi, y los pesos de la capa de salida, vi,. Así, la entrada de la RNA es ponderada a través de los pesos de la capa intermedia, wi,se le suma el umbral y se aplica la función de activación de la neurona, en este caso una función sigmoidal, la respuesta de cada neurona es ponderada con los pesos de la capa de salida, vi. Se debe aclarar que los umbrales son multiplicados por la unidad. 1 2 3 4 5 Pesos w -0.4715922 0,1768026 -0.4534636 -0.3835130 Pesos v 358.0178299 9.2206202 -0.4452780 -262.0147885 Umbrales -0.4716069 0.1767707 -0.4534508 -0.3844735 1.7373304 Capitulo 3. Análisis de sensibilidod y optimizoción sin restricciones (3.12) Una prueba experimental de la sensibilidad de la planta fue realizada al CEllO Servo Trainer una vez que se obtuvo un modelo de la planta, cuyo desempeño era el adecuado, con los parámetros que se muestran en la tabla 3.1. La señal de excitación para obtener el conjunto de datos entrada-salida con los que se entrenó la RNA fue una rampa que parte de 5.5 volts hasta llegar a los 8 volts. Sin embargo, al aplicar una señal de excitación u,,,(k) =u,,,,(k)+0.01 volts al modelo, que contiene datos con los que no se entrenó la RNA, es decir, señales de entrada menores a 5.5 volts, se tiene un comportamiento no esperado, esto es debido a que la sensibilidad del modelo no es semejante a la sensibilidad de la planta para dicha señal. Analizando la figura 3.3 en la región A, mientras que la salida de la planta es creciente, la salida del 'modelo es decreciente, y su sensibilidad es negativa. En la región B la salida del modelo es creciente al igual que la de la planta, y la sensibilidad es positiva, en esta región la sensibilidad del modelo es semejante a la sensibilidad de la planta. Así se muestra que la sensibilidad se cumple de manera local y no de manera global como se desea. Tiempo Figura 3.3 Respuesta de/ modelo obtenido con RNA para el CE110 Servo Trainerpara una señal que contiene datos con los que no se entren6 la RNA 3-6 Capitulo 3. Análisis de sensibilidad y optimi:acidn sin restricciones 1 2 3 4 5 Pesos w -0.4715953 0,1768094 -0.4534600 -0.3832502 Pesos v 91.7683751 11.9406781 -0.4452780 -90.1691994 Umbrales -0.4715909 0.1767518 -0.4534679 -0.3851798 -1.1317161 Capifulo 3. Andlisis de sensibilidad y opfimizacidn sin resfricciones sensibilidad es positiva, en esta región la sensibilidad del modelo es semejante a la sensibilidad de la planta, sin embargo cuando la salida del modelo es mayor a 5.5 volts (datos con los que no se entrenó la RNA, región C) la sensibilidad cambia de pendiente y empieza a existir mayor error entre la salida de la planta y la salida del modelo. Así se muestra que la sensibilidad se cumple de manera local Y no'de manera global como se desea. ' Y o > c ia o . . 100 , , 200 3w 400 . . . . . 5M) wo 700 800 900 100 Tiempo Figura 3.4 Respuesta del modelo obtenido con RNA para el módulo de regulacidn de flujo para una señal que contiene datos con los que no se entrenó la RNA Esto es claramente atribuible al método de estimación paramétrica, en esencia el método trata de satisfacer un conjunto de puntos, haciendo que el comportamiento de la RNA se asemeje al de una función que aproxima dichos puntos; en la figura 3.5a se muestra el comportamiento de una RNA al aproximar dos puntos, A y B. con sensibilidad positiva. Por ejemplo, se sabe que la RNA aprendió el comportamiento entre estos dos puntos, sin embargo, no se sabe cuál es el comportamiento de la RNA para puntos intermedios, por ejemplo para el punto C. En la figura 3.5b se muestra que para un punto intermedio C, la respuesta del modelo (neuroidentificador) es diferente a la respuesta de la planta, por lo que la sensibilidad es negativa entre el punto A y el punto C debido a que L& !!!! AUcon, < O , mientras que entre el punto C y el punto B la sensibilidad es positiva AY pian debido a que __ > O . AUcon, 3-8 Capiiulo 3. Análisis de sensibilidady opiimización sin resiricciones B aj Aproximación de dos puntos con una RNA B b) Gráfica de sensibilidad positiva y sensibilidad negativa Figura 3.5 Aproximación de dos puntos con una RNA Es evidente que la sensibilidad puede ser positiva o negativa para puntos con los cuales la RNA no fue entrenada. Es por ello que se propone el empleo de un método de estimación paramétrica con restricciones (optimización con restricciones), de tal forma que se asegure que los pesos de la capa intermedia y los pesos de la capa de salida de la RNA sean siempre positivos o siempre negativos y así cumplir con la condición de que la sensibilidad sea positiva y se cumpla de manera global. 3.2 Optimización' El problema de optimización consiste en encontrar el máximo o el mínimo de una función objetivo. Esta puede representar el costo, energía o beneficio en términos de las variables de interés del proceso que será analizado. El modelo del proceso y las restricciones describen las relaciones ent're las variables de interés. Una gran variedad de problemas en el diseño, construcción, operación y análisis de plantas pueden resolverse empleando un procedimiento de optimización. Un problema tipico de ingeniería se puede describir de la siguiente manera: se tiene un proceso que puede ser representado a través de ecuaciones matemáticas o por datos experimentales. Se establece un criterio de desempeño tal que se minimice un costo. El objetivo de optimizar es encontrar los valores de las variables del proceso con los cuales se obtenga el mejor valor para el criterio ' Este apartado se basa en la referencia [64] 3-9 Capitulo 3. Análisis de sensibilidad y optimizacidn sin restricciones de desempeño. Esto involucra un compromiso entre el capital y el costo de operación. Los elementos descritos (proceso o modelo y el criterio de desempeño) constituyen el problema de "optimización". Los problemas típicos en el diseño de ingeniería química u operación de plantas, tienen muchas o un número infinito de soluciones. La optimización está enfocada a seleccionar la mejor solución del conjunto total de soluciones, a través de métodos cuantitativos eficientes. En la operación de plantas, los beneficios surgen del desempeño de la planta, esto lleva a la reducción de contaminantes, reducción en el consumo de energía, lograr velocidades altas de procesamiento, etc.; la optimización puede también reducir los costos de mantenimiento, menor uso de la maquinaria y su mejor empleo. Existen algunos aspectos que deben considerarse para establecer un problema de optimización. A continuación se establecerán las condiciones para optimizar, es decir encontrar una máximo o un mínimo en funciones de una o varias variables. 3.2.1 Funciones de una variable2 hi f(X) Figura 3.6 Representación de una función de una variable , * Este apartado se basa en la referencia [65] ~~ 3-10 ~~~ .. iún siir restricciones La aproximación clásica al problema de encontrar los valores xo y x* es encontrar ecuaciones que se satisfagan para xo y x*. La función representada en la figura 3.6, así como sus derivadas son funciones continuas, y se puede observar que en ambos puntos xo y x* la derivada f ' ( x ) (gradiente de la función), es cero. fyx) = o (3.13) Los valores en el punto x,,, , en el cual se encuentra un máximo local, y x,, que es un punto de inflexión, también satisfacen esta ecuación. Entonces, la ecuación (3.13) es sólamente una condición necesaria para la existencia de un mínimo en la función f(x), pero no es una condición suficiente. Sin embargo, se aprecia que en los valores xo y x', f ' ( x ) cambia de signo negativo a signo positivo. En x, el cambio de signo es de positivo a negativo, mientras que en x, la derivada no cambia de signo mientras x pasa a través del valor x,. Entonces, en un mínimo la derivada es un incremento de la función y como la razón de cambio en el incremento de f ' ( x ) es medida por la segunda derivada, se espera que: f"(xo) > O, f"(x*)>O mientras que f"(xm) < O (3.14) Los resultados intuitivos pueden demostrarse considerando la serie de expansión de Taylor de f(x) en xo (o x* o x,,,). Es necesario que la función y sus derivadas sean continuas. f (X, hZ + h ) - f ( X , ) = hf'( X , ) + f"(X , ) + ... 2! (3.15) Si xo es un punto en el cual se tiene un mínimo, entonces el término de la parte izquierda de la ecuación (3.15) es positivo para todo huh1 < 6). Entonces f ' ( x , ) tiene que ser cero, y ésta es la condición necesaria para la existencia de un mínimo de f(x) (ver ecuación 3.13). Si f ' ( x , ) > O un valor negativo Suficientemente pequeño para h, haria que el término del lado derecho de (3.15) sea negativo; si por el contrario, f ' ( x , ) < O un valor positivo suficientemente pequeño para h, haría que el término del lado derecho de (3.15) también sea negativo. Como el siguiente término involucra h2, se observa que si: f " (x, ) > o se tendrá un mínimo de la función f(x). Si f ' ( x , ) = O argumentos similares, x, es' un máximo. - (3.16) y f"(x,,,) < O, entonces por 3-1 I Capitrrln 3. AiiRlisis de sensibilidad y npiiniiznciÚn sin resiriccioiics El caso ambiguo dónde f " ( x ) = O puede resolverse si se continua con la serie de expansión de Taylor: h2 h3 h4 (3.17) f ( X , + h ) - f ( x , ) = h f ' ( x , ) + -f " ( X , ) + -f " ' ( x, ) + -f""( X , ) + ... 2! 3! 4! Se puede establecer entonces una regla: Si f(x) y sus derivadas son continuas, entonces xg es un punto extremo (máximo o mínimo) si y sólo si n es par, donde n es el orden de la primera derivada en xg. Si f " ( x , ) < O , entonces xg es un máximo; si f " ( x , ) > O , entonces xo es un rninirno. 3.2.2 Funciones de n variables3 Consideremos la función de n variables reales: f ( x i , x ~ ~ x 3 , . . . =~ nf(x) ) (3.18) El punto con coordenadas (xr,xz,...,xn) en el espacio Euclidiano n es denotado por un vector columna x. El gradiente de la función ( a f / a x , , a f / a x , ,...,af/ax,,) es denotado por V f ( x ) . La matriz Hessiana de f(x) es denotada por H(x) y es una matriz simétrica de n x n con elementos: (3.19) f(x) tiene un mínimo en xo si existe una vecindad alrededor de xg tal que f(x) es al menos un poco mayor que f(xo) para todos los puntos de la vecindad; es decir, existe un 6positivo, tal que para Ix - x,I < 6 , f(x) .: f(xo). Para un mínimo global en x*, f(x) 2 f(x*) para todo x. Con estas definiciones y suposiciones ciertas, se puede generalizar la ecuación (3.15). de la manera siguiente: = hTV f (x, ' Este apartado se basa en 3-12 1 ) + -- h r H ( x , )h + .._ 2 la referencia [65] (3.20) Capitulo 3. .halisi.s de scnsihilidad y opiinii:acid~i si11 resfriccio~ies Entonces, si xo es un minimo para f(xJ. cada primera derivada parcial d f j a x , ( i = l .....n) desaparecerá en XO. En el caso en que xo sea un máximo escogiendo apropiadamente hj se puede hacer que f(xo+h) - f(xoxo)sea negativo. Así, la condición necesaria para la existencia de un mínimo en xo es: V f (x , ) =o (3.21) De esta forma, si los términos de orden superior en la ecuación (3.20) se desprecian, el signo de f(xo+h) - f(xo) esta determinado por: 1 2 - h r H ( x , )h (3.22) Si H(xo) es positiva definida, entonces la ecuación (3.22) es positiva para toda h. Entonces, las condiciones suficientes para la existencia de un mínimo son: Of( x, ) = O , H( xo ) sea positiva definida (3.23) H ( x , ) sea negativa definida (3.24) Para un máximo se requiere que Vf(x,)=O, Hasta el momento, se han establecidos los conceptos para la optimización sin restricciones; sin embargo, como se mencionó anteriormente el problema que concierne es la optimización con restricciones. En el siguiente capítulo se hablara de este problema. : 3-14 .. Capítulo 4 Programación cuadratica secuencia1 1 - ysu aplicación en las redes neuronales artificiales 4.1 Optimización no lineal con restricciones El problema general de optimización con restricciones consiste en minimizar una función no lineal sujeta a restricciones. Existen dos formulaciones equivalentes de este problema [66,67], ellas son: rnin {f(x): gj(x) SU, jsI, h,(x) = O, j c E } (4.1) donde cada gj y hj es un mapeo de 91" a 91, e I y E son los indices para los conjuntos de restricciones de desigualdad y de igualdad, respectivamente. y la otra formulación es: ' 8, h(x) = O , rnin{f(x): I S X ~ U ] I donde h se mapea de 91" a 91m, y I y u son los límites inferiores y superiores del vector x . La función no lineal f(x), así como las funciones g(x) y h(x) que describen a las restricciones, deben de ser suaves [68]. Como se mencionó en el capítulo anterior, se han propuesto diferentes técnicas de solución al problema de optimización con restricciones. Sin embargo, el que reporta la literatura como el más poderoso para la solución de este tipo de problemas es el método de programación cuadrática secuencia1 (Sequential Quadratic Programming SQP) [69,70]. La base de estos métodos de solución es la función de Lagrange o Lagrangiano. Éste se forma incluyendo la función objetivo, las restricciones de igualdad con su respectivo multiplicador de Lagrange y las restricciones de desigualdad con un multiplicador de Lagrange adicional. La expresión que representa al Lagragiano es la siguiente: (4.3) 4.2 Condiciones necesarias y suficientes para un mínimo local Las condiciones necesarias.para que x* sea un mínimo local de f(x). son: [71] 1. Que el gradiente del Lagrangiano sea igual a cero, es decir m VL(x,w,u)= V f ( X ) + - p , V h , ( X ) ,=1 P ~u,Vg,(x)= o ,=,,,+l (4.4) 2. Que 1a.s funciones f(x), hj(x), g,(x) sean doblemente diferenciables en x*. 3. Que los multiplicadores de Lagrange existan. Las condiciones suficientes para que x* sea un mínimo de f(x), requieren que la matriz Hessiana del Lagrangiano sea positiva definida para todos los valores del 4-2 '. ..- vector v, para los cuales v T V g j ( x * ) = O ,y v'Vh,(x*)=O, esto es, que para todas las restricciones se cumple la condición siguiente: VTV2[L(X*,W*,U*)b >o (4.5) Las condiciones mencionadas con anterioridad son conocidas como las condiciones para optimización de Kuhn-Tucker [72,73]. Estas condiciones son la base para el diseño de algunos algoritmos y como criterio de terminación para otros. 4.3 Programación cuadrática secuencial (SQP) El algoritmo de programación cuadrática secuencial es una generalización del método de Newton [74] para problemas de optimización sin restricciones, en el que se encuentra una longitud de paso a partir del punto actual, minimizando el modelo cuadrático del problema. En el presente trabajo de tesis se empleó una función de MATLAB (ver apéndice A) que soluciona el problema de programación cuadrática secuencial [75]. 4.4 Identificación del CEllO Servo Trainer empleando el algoritmo SQP AI igual que en las identificaciones realizadas con el algoritmo OLL. fue necesario aplicar una señal de entrada, u,,,,(, en el amplificador que proporciona la señal adecuada al motor, para obtener los datos de la velocidad de la planta, yplan,con ésto se obtuvo un conjunto de datos de entrada-salida. Con este conjunto se realizó el entrenamiento del neuroidentificador y se estimaron sus parámetros, con el fin de copiar la dinámica de la planta. Para realizar la identificación de la planta CEllO Servo Trainer se empleó el algoritmo de estimación paramétrica de programación cuadrática secuencial (SQP). La función que se minimiza es semejante a la que se muestra en el apéndice A. El esquema empleado para la identificación se muestra en la figura 4.1. 4-3 Figura 4.I Esquema paralelo para la identificación de la planta CE1 I O Servo Trainer La estructura del neuroidentificador sigue siendo de una neurona en la capa de entrada, cuatro neuronas en la capa intermedia y una neurona en la capa de salida, pero ahora la RNA es estática (ver figura 4.2). Enlrad Pesos de la capa Intermedia Pesos de la capa de salida Figura 4.2 Estructura del neuro identilicador empleado para /a idenfificacion del CE110 Servo Trainer usando SOP * Los parámetros de la red neuronal artificial empleada para la identificacion del Servo Trainer, son los umbrales ( b ) ,los pesos de la capa intermedia ( w ) y los de la capa de salida (v). Asi, la entrada de la RNA se pondera a traves de los pesos de la capa intermedia, w, se le suma el umbral y se aplica la funcion de activacion de la neurona, en este caso una funcion sigmoidal; la respuesta de cada neurona, es ponderada pero'con los pesos (v) de la capa de salida. Se debe aclarar que los umbrales son multiplicados por la unidad. I ___ 2 3 4 5 4-4 Pesos w 0.066746 7.397896 -0.068960 -0.017636 . Pesos v .~ 15.621801 0.0000000 -36.981 109 -42.928650 Umbrales ___-0.0230381 0.1447089 -0.4825632 -0.0969537 164.5463893 - .- Se sabe que la sensibilidad de una RNA como la mostrada en la figura 4.2 está dada por la siguiente ecuación Si se analiza la sensibilidad a través del camino de conexión de la tercera neurona de la capa intermedia, desde la entrada hasta la salida, se puede observar que al multiplicar los pesos, la sensibilidad es positiva. Para el resto de las neuronas es positiva la sensibilidad, por lo que se cumple con que la sensibilidad del modelo es semejante a la sensibilidad de la planta. Fue necesario realizar 1303 iteraciones para lograr satisfacer el criterio de error cuadrático medio propuesto, cuyo valor fue de 0.082645 unidades. Los patrones con los que se entrenó la RNA son los que se muestran en la figura 4.3. iq O , , , , , , , , , 2 4 6 8 10 12 14 16 18 20 Muestras(Tiempo de muestre0 0.4 seg) Figura 4.3 Patrones de entrenamiento tomados del CE110 Servo Trainer, el tiempo de muestre0 fue de 0.4 segundos. Para llevar a cabo el entrenamiento de la RNA se usó una rampa de 21 datos, que se muestra en la figura 4.3. La señal de excitación está descrita por: ucOni(k) = ucon, ( k ) + 0 . 5 volts, el tiempo de muestre0 es de 0.4 segundos. Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de entrada que fue aplicado al motor (planta), con el fin de comparar su comportamiento contra el comportamiento real de la planta ante la misma señal de excitación (ver figura 4.4). Capífrrlo 4. Progrnnracióii crrodrrilica scmerrcial (SQP) 9, , , , J' s u a p l i c a c i h cn RNA I I ;. Muestras(Tlemp0 de muestre0 O 4 seg) Figura 4.4 Respuesta del CE11O Servo Trainer y del modelo obtenido con la RNA, el tiempo de muestre0 fue de 0.4 segundos. Como lo muestra la figura 4.4, el comportamiento del modelo es el esperado y se cumple con la condición de sensibilidad positiva. 4.4.1 Pruebas de generalización del modelo obtenido con el neuroidentificador En la primera prueba de generalización, se uso un conjunto de 163 datos. Para obtener estos datos, se excitó con una señal senoidal al Servo Trainer; su respuesta y la señal de excitación se muestran en la figura 4.5. La señal de excitación esta descrita por u,,, ( k )= 2.8 + 1.2 * sin(0.2454* k ) . Muesimas(Tiernpo de muerlreo 0.4 seg) Figura 4.5 Señal senoidal para evaluar el modelo del CEllO Servo Trainer, el tiempo de muestre0 fue de 0.4 segundos. . *- . .. ., Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con el neuroidentificador y entrenado con el algoritmo SQP. En la figura 4.6 se puede observar la velocidad del motor y la velocidad del modelo. Mueslras(Tiernpo de muesireo 0.4 seg) Figura 4. 6 Respuesta del CE110 Sew0 Trainery del modelo obtenido con la RNA, el tiempo de muestre0 fue de 0.4 segundos. En la misma figura se observa que el modelo obtenido para el C E l l O Servo Trainer a través del neuroidentificador entrenado con el algoritmo SQP, representa el comportamiento esperado de la planta y la sensibilidad del modelo es semejante a la sensibilidad de la planta. Como las gráficas anteriores muestran el buen desempeño cualitativo del modelo y se asegura que la sensibilidad del modelo es semejante a la sensibilidad de la planta al usar el método de estimación paramétrica con restricciones, se procedió a la identificación de una planta, cuya variable de interés es el flujo de un liquido. 4.5 Identificación del módulo de regulación de flujo empleando el algoritmo SQP Para la identificación del módulo de regulación de flujo fue necesario aplicar una señal de entrada, u,,,, , en la bomba de CD, para obtener los datos del flujo la planta, yPi,,, con ésto se obtuvo un conjunto de datos de entrada-salida. Con este conjunto se realizó el entrenamiento del neuroidentificador y se estimaron sus parámetros, con el fin de copiar la dinámica de la planta. . . 4-7 Capiriilu 4. Pro~graniacihcuadrática scriwricial (SQP)y sii apliracih cii RN:I Para realizar la identificación de la planta se empleó el algoritmo de estimación paramétrica de programación cuadrática secuencia1 (SQP). La función que se minimiza es semejante a la que se muestra en el apéndice A. El esquema empleado para la identificación se muestra en la figura 4.7 de flujo Figura 4.7 Esquema paralelo para la identificación de la planta módulo de regulación de flujo La estructura del neuroidentificador es de una neurona en la capa de entrada, cuatro neuronas en la capa intermedia y una neurona en la capa de salida, y la RNA es estática (ver figura 4.2). Los parámetros de la red neuronal artificial empleada para la identificación del módulo de regulación de flujo, son los umbrales ( b ) , los pesos de la capa intermedia (w) y los de la capa de salida (v). Así, la entrada de la RNA se pondera a través de los pesos de la capa intermedia, w, se le suma el umbral y se aplica la función de activación de la neurona, en este caso una función sigmoidal; la respuesta de cada neurona, es ponderada pero con los pesos (v) de la capa de salida. Se debe aclarar que ¡os umbrales son multiplicados por la unidad. El vector de pesos y umbrales para el neuroidentificador obtenido es: 1 2 3 4 5 Pesos w 0.074348 3.507698 -0.023078 -0.010662 Pesos v 0.097957 76.01 5352 -298.497568 -292.714007 Umbrales 399.930104 1.970191 -1.025592 La sensibilidad de una RNA como la mostrada en la figura 4.2 está dada por la siguiente ecuación 4.29. Si se analiza la sensibilidad a través del camino de conexión de la tercera neurona de la capa intermedia, desde la entrada hasta la salida, se puede observar que al multiplicar los pesos, la sensibilidad es positiva. Para el resto de las neuronas es positiva la sensibilidad, por lo que se cumple con que la sensibilidad del modelo es semejante a la sensibilidad de la planta. 4-8 - : , . .d- , ,' . Cnpiiirlu 4. Propamociún ciraúrriiicn .smiorciul .(SUI') y s u aplicucioti eti RNA Fue necesario realizar 1309 iteraciones para lograr satisface[- el criterio de error cuadráiico medio propuesto, cuyo valor fue de 0.481443 unidacles. Para llevar a cabo el entrenamiento de la RNA se usó una rariipa de 8 datos, que se muestra en la figura 4.8. La señal de excitación esta descrita por: uConI ( k ) = u,,,, ( k )+ 1 .O volts, el tiempo de rnuestreo es de 0.4 s(::gundos. Muestras(Tiempo de rnuestreo 0.4 seg) Figura 4.8 Patrones de entrenamiento tomados del riióilulo de regulación de flujo, el tiempo de mueslreo fue de 0.4 segundos. Una vez que se entrenó la RNA, se le aplicó el mismo conjunto de datos de entrada que fue aplicado al módulo de regulación de flujo (planta), con el fin de comparar su comportamiento contra el comportamiento real de la planta ante la misma señal de excitación (ver figura 4.9). 11 r 11, 10- ,_--- a- 7- Muestras(Tiemp0 de muestreo 0.4 seg) Figura 4.9 Respuesta del módulo de regulación de f k j o y del modelo obtenido con la RNA, el liempo de muestreo fue de 0.4 segundos. Cupífrrlo 4. Progruiiruci6ii cirurlraricu secrreirciui (SQP) J! s u uplicucioir cii RNA - Como lo muestra la figura 4.9, el comportamiento del modelo es el esperado y se cumple con la condición de sensibilidad positiva. 4.5.1.1 Pruebas de generalización del modelo obtenido con el neuroidentificador En la prueba de generalización, se usó un conjunto de 320 datos. Para obtener estos datos, se excitó con una señal senoidal al módulo de regulación de flujo; su respuesta y la señal de excitación se muestran en la figura 4.10. La señal de excitación está descrita por u,,~ ( k ) = 4.88 + 2.12 * sin(0.2454 * k ) . O 50 100 150 200 250 300 I Muesiras(Tiemp0de muestre0 0.4 seg) Figura 4.10 Sei,al senoidal para evaluar el modelo del modelo de regulación de flujo, el tiempo de muestre0 fue de0.4 segundos. Después se aplicó el mismo conjunto de datos de entrada al modelo obtenido con el neuroidentificador y entrenado con el algoritmo SQP. En la figura 4.1 1 se puede observar el flujo de la planta y el flujo del modelo. En la misma figura se observa que el modelo obtenido para el modulo de regulación de flujo a través del neuroidentificador entrenado con el algoritmo SQP, representa el comportamiento esperado de la planta y la sensibilidad del modelo es semejante a la sensibilidad de la planta. 4-10 - I O 50 100 150 200 250 300 I Mueslras(Tiempa d e muestreo 0 . 4 seg) Figura 4.11 Respuesta del módulo de regulación de flujo y del modelo obtenido con la RNA, el tiempo de muestreo fue de 0.4 segundos. Como las gráficas anteriores muestran el buen desempeño cualitativo L-. modelo y se asegura que la sensibilidad del modelo es semejante a la sensibilidad de la planta al usar el método de estimación paramétrica con restricciones, se procedió a la implernentación del esquema de control indirecto, el cual será descrito en el capítulo siguiente. Cabe señalar que para los prototipos de laboratorio CE110 Servo Trainer y para el módulo de regulación de flujo la sensibilidad siempre es positiva en toda su región de operación, ya que para un incremento en la señal de control, corresponde un incremento en la señal de salida de la planta. Para un sistema altamente no lineal el cuál tenga una sensibilidad positiva en algunos puntos dentro de su región de operación, y una sensibilidad negativa en otros puntos de su región de operación, es posible emplear el método de estimación paramétrica con restricciones (SQP) para calcular los parámetros de un neuroidentificador. Esto se puede lograr estableciendo nuevas restricciones, que van a depender de los valores para los cuales la sensibilidad es positiva y de los valores para los cuáles la sensibilidad es negativa. Mientras que los métodos de estimación paramétrica generalmente empleados para el entrenamiento de un neuroidentificador, van a seguir adoleciendo de que sus parametros (pesos y umbrales) pueden ser positivos o pueden ser negativos. 4-1 I Capirirlo J. Pro~ramariónciradráfica sccrrcncial (SQP) 4-12 .v SII apliraci<iii CII RiV.4 Capítulo 5 Resultados 5.1 Implementación del esquema de control indirecto El esquema de control implementado con redes neuronales artificiales es el esquema de control indirecto [76], que se muestra en la figura 5.1 refei - L/ / Neurocontrolador /, UC0"Sk) YP."(' Planta + - Neuroideniificador I I '.............sensibilidad '..., ...................... .._< Figura 5.1 E s y u m a de control indirecto basado en redes neuronales artificiales Capítulo S. Resrrltatlns Como ya se mencionó, este esquema de control consta de dos etapas: La primera etapa consiste en realizar una identificación de la planta, en este caso a través de un neuroidentificador (RNA), el cual copia la dinámica de la planta: Ym(k,uc,,,1 P ) = Y d a n (k,u,,m ) ' 9 (5.1) donde p=[wi,vJ es el vector de parámetros del neuroidentificador. Mediante el uso de un algoritmo de estimación paramétrica con restricciones (SQP) se asegura que la sensibilidad del modelo es semejante a la sensibilidad de la planta de forma global, como lo indica (5.2): (5.2) El neuroidentificador ajusta sus parámetros con base en un indice de desempeño o criterio de error que está dado por la diferencia de la salida de la planta y la salida del modelo: La segunda etapa consiste en encontrar una ley de control adecuada, a traves del neurocontroiador, de tal forma que la salida de la planta siga a una referencia deseada, es decir: Ypia"(k>UcOnr ) = refew) (5.4) y el objetivo de control está definido de la siguiente manera: donde E es un criterio de error, éste puede ser definido como un error cuadrático medio: Es evidente que el minim0 de (5.6) se puede encontrar derivando la ecuación As¡, respecio a uconf. (5.7) -~ 5-2 ,, .II > - - Capifulo5. Kmrifados donde: m=O h 4 La derivada parcial de (5.7) respecto a cada uno de los parámetros genera un sistema de nxn ecuaciones lineales cuya solución se encuentra empleando el método de Levenberg-Marquardt [77] ( n es el número de parámetros del neurocontrolador). En lo referente a la adquisición y envío de señales de los prototipos de laboratorio, se empleó una tarjeta ATMIO-16X de National Instruments No. parte 776578-01 [78]. Para señales analógicas se tienen 16 canales de entrada y 2 canales de salida. Como los procesos son SISO, se emplearon dos canales analógicos, uno de entrada y otro de salida. La interfaz gráfica empleada es la que se muestra en la figura 5.2. En la pantalla superior se grafica la señal de control, mientras que en la pantalla inferior se grafica la señal de salida de la planta y la señal de referencia. ' 1 ....... j lo1x I ..... - ...... a 20 ,.'.i'40 ' 59;. ' 7 9 , 9 9 1 . ~ ... Acuakacví? del bdle, DiA . . . . . . . . . . . . . . .... F-" ,~. O ~ .I i , .. ............. . . . . . Figura 5.2 Intedaaz gráfica . . Fue necesario el empleo de dos computadoras personales para la implernentación del esquema de control, debido a que el algoritmo de estimación de los parámetros del neuroidentificador es complejo y toma tiempo considerable la 5-3 obtención de modelos. Así que, mientras en una PC se realiza la adquisición de los datos de la salida de la planta y la generación (estimación paramétrica del neurocontrolador) y envío de la señal de control, en la otra PC se realiza el proceso de estimación paramétrica del neuroidentificador, con el fin de entrenar a la RNA y de esta manera se logra el aprendizaje de la dinámica de la planta y tener un control en tiempo real (ver figura 5.3). Las computadoras se encuentran conectadas a través de un protocolo TCPllP haciendo uso de la red. La programación fue desarrollada en lenguaje C y se empleó la plataforma de Labwindows v.5.2 [79] debido a la facilidad que presenta para realizar la interfaz gráfica y las herramientas de programación para establecer comunicación entre dos computadoras. Planta Adquisicion de la seiial de la planta y envio de la seiial de control @ E n v i o del conjunto de datos entrada-salida para la estimación de parámetros @ Estimacion parametrica @ Enviodelosparámetros estimados del neuroidentificador Figura 5.3 lmplemenfación del esquema de control indirecto con la ayuda de computadoras personales Para realizar el control a través de las redes neuronales artificiales empleando el esquema de control indirecto mostrado en la figura 5.1, se consideran dos prototipos de laboratorio: I.CEI 10 Servo Trainer. 2. Módulo de regulación de flujo El prototipo del intercambiador de calor RCT 100 ya no fue empleado para la implementación del esquema de control, debido a que la dinámica de este sistema es muy lenta y en las pruebas de identificación (ver figura 2.8 del capítulo 2) fue necesario invertir hasta 4.72 hrs con el fin .de obtener un conjunto de datos entrada-salida que serían útiles para lograr una identificación. Se propone usar el prototipo de laboratorio de regulación de flujo, debido a que presenta una dinámica mucho más rápida que la del intercambiador de calor RCT 100. 5 -4 r.tx* -a,..- i ,,r (“it‘ .~ Capitulo 5. Resultados 5.2 Control del CE11O Servo Trainer La constante de tiempo de este sistema es aproximadamente de 1.5 seg [80]. Se recomienda un tiempo de muestreo entre 0.1 y 0.3 veces la constante de tiempo del sistema [81,82]. Para el caso específico se propuso un tiempo de muestreo de 0.4 seg. Las pruebas que se realizaron en este prototipo son las siguientes: I.Regulación y seguimiento sin perturbación. 2. Regulación con perturbación. 3. Regulación y seguimiento de una trayectoria con una no linealidad en la señal de control y sin perturbación. 4. Regulación con una no linealidad en la señal de control sin perturbación y en presencia de la misma. A continuación se explica cada una de ellas y se muestran las gráficas de respuesta. 5.2.1 Regulación y seguimiento sin perturbación Para el CEllO Servo Trainer se realizó una prueba de seguimiento y regulación sin perturbación empleando el esquema de control indirecto. En la región A de la figura 5.4, se aplica una referencia de velocidad descrita por la ecuación refer(k) = 2.8 + 1.2 * sin(0.2454 * k ) volts, en la misma figura es posible apreciar el buen desempeño de la estructura de control. En este caso, el neuroidentificador tenía un buen modelo numérico de la planta, debido a que se encontraba previamente entrenado, es por ésto que es posible seguir inmediatamente a la referencia. Posteriormente se hace un cambio de referencia para lograr el control del motor en regulación a refer(k) = 2.5 volts en la región B. En la región C se muestra otro cambio de referencia, en esta región se realiza el seguimiento de una trayectoria de velocidad cuyo comportamiento está descrito por la ecuación refer&) = 5.0 + 2.0 *sin(0.2454 k ) volts. Finalmente se aplica otro cambio de referencia de refer(k)=5.0 volts, como se muestra en la región D. 5- 5 La figura 5.4 muestra que la señal de la planta sigue satisfactoriamente a la señal de referencia predefinida, tanto en seguimiento, como en regulación. r I Muestras(Tiemp0 de rnuesireo 0.4 Seg) Figura 5. 4 Gráfica de /a respuesfa de/ Servo Trainer en seguimiento y regulación sin perturbación 5.2.2 Estrategia de control para rechazo a perturbaciones La regulación en presencia de perturbación se realiza empleando la siguiente estrategia de control. Partiendo del hecho que se tiene controlada a la planta, se aplica una perturbación en el región A como puede observarse en la figura 5.5, y se hace la conside;ación que. la salida de la planta decrece. El control detecta que existe un error mayor al permitido, en este caso 2.5%, deshabilita la señal de control del neurocontrolador e inyecta como señal de control una rampa, de tal forma que la salida de la planta tienda a incrementarse hasta alcanzar a la referencia. La respuesta de la planta y la señal de control son almacenados en una tabla y con ellos se obtiene un modelo a través del proceso de estimación paramétrica, el ) modelo se usa en la etapa de control para lograr que ~ ~ , ~ , , (=krefer(k). Se supone ahora que la señal de la planta se incrementa debido a otra perturbación, como se muestra en la región B de la figura 5.5. La señal del neurocontrolador se deshabilita y se introduce una rampa pero con pendiente negativa, con el fin de que la señal de la planta tienda a disminuir y así se logre alcanzar a la referencia. Nuevamente, la salida de la planta y la señal de control aplicada son almacenados en una tabla y con ellos se obtiene un nuevo modelo a 5-6 través del procedimiento de estimación paramétrica, y así encontrar una ley de control adecuada para lograr el objetivo de control. 5.2.3 Regulación con perturbación En la figura 5.6 se muestra la respuesta del sistema en una prueba de regulación sin carga, la referencia de velocidad es refer(k)= 2.5 volts. En la región A se logra controlar a la planta y se tiene un error del 1.7%; en el punto A se aplica una perturbación y se puede observar en la gráfica que la sintonización de los parametros se lleva a cabo hasta que se obtiene otro modelo con el cual nuevamente se logra controlar a la planta y tener un error del 3.6% en la región B. . Muesbas(Tiemp0 de mwslreo 0.4 segl Figura 5.6 Regulación sin/con carga para el CEllO Servo Traine: Capitulo 5. Resullados 5.2.4 Regulación y seguimiento de una trayectoria con una no linealidad en la señal de control y sin perturbación La siguiente prueba que se realizó fue aplicar una no linealidad al sistema CEllO Servo Trainer, la cual consistió en sumar un nivel de 1.8 volts a la señal de control, y además de un bloque de histéresis. En la figura 5.7 se muestra la señal de control y la respuesta del motor ante tal señal de control y la respuesta del sistema. Muestras Figura 5.7 Sena1 de control con histéresis y offset ap :ai ai CE110 Sew0 Trainer y su respuesta S 3 Una de las pruebas consistió en la regulación de una señal descrita por un escalón refer(k) = 4.0 vo/ls, una vez que se logró que la salida del motor fuera de aproximadamente 4.068 volts, que corresponde a un error de 1.72%, como se observa en la región A de la figura 5.8. En la muestra k=764 se aplicó una señal de referencia senoidal descrita por refer(k) = 5.0 + 2.0 sin(0.2454 * h ) VOMS como se muestra en la región B de la figura 5.8. En la misma figura se puede observar el buen desempeño del esquema de control indirecto. 5-8 1.5 2.5 I O 50 1W 150 200 250 300 I Muesiras(Tiempo de muestre0 0.4 seg) Figura 5.8 Respuesta del sistema en regulación y seguimiento de una trayectoria, sin carga y en presencia de una no linealidad en la sena1 de control 5.2.5 Regulación con una no linealidad en la señal de control sin perturbación y en presencia de perturbación Otra prueba fue la regulación de la salida a una señal de referencia de 5 volts. El modelo inicial que tiene el neuroidentificador (pesos y bias) no corresponde al modelo de la planta con la no linealidad, así que al principio el error es de 35.2%, como se muestra en la figura 5.9. AI detectar un error mayor al 2.5%, el esquema global de control inicia el proceso de sintonización de parámetros del neuroidentificador, con el fin de lograr copiar la dinámica de la planta. El nuevo modelo obtenido se emplea en el esquema de control para sintonizar los parámetros del neurocontrolador (basados en la sensibilidad del modelo y el error entre la salida de la planta y la referencia deseada) con el objeto de logar que la salida de la planta siga a la referencia. En la región A de la figura 5.9, se puede observar que se ha logrado controlar al sistema para la referencia deseada con un error menor al 1%. Una vez que se logra realizar el control, se aplica una carga al motor en el punto A, de tal forma que su salida disminuye y el error se incrementa a 30.6%. Nuevamente inicia el proceso de sintonización descrito, hasta que se logra controlar al sistema en la región B con un error de 0.6%. 5-9 - Capitulo 5. Rtwltados _--___m____ 2W 250 Muestras(Tiernp0 de muestre0 0.4 Seg) 50 100 150 I Figura 5.9 Respuesta del sistema a)en presencia de una no linealidad en la señal de control para parámetros de/ neuroidentificador desconocidos; b) perturba. cion en el sistema 5.3 Control del módulo de regulación de flujo El otro caso de estudio para implementar el esquema de control indirecto, es un módulo de regulación de flujo de FESTO DIDACTIC. Las pruebas que se realizaron en este prototipo son las siguientes: 1. Seguimiento sin perturbación. 2. Regulación con perturbación. 5.3.1. Seguimiento sin perturbación En la gráfica que se muestra en la figura 5.10, se observa una prueba donde la señal a seguir es refer(k) = 2.8 + 1.2 * sin(0.2454 * k ) . En la parte inferior del primer periodo de la señal senoidal, se tiene un error de 18% entre la salida de la planta y la señal de referencia y conforme transcurre el tiempo se obtienen nuevos modelo en linea, de tal forma que se logra llegar a un 13% de error en la zona inferior de la senoidal, en tanto para el resto de la señal se logra realizar un buen seguimiento. 5-10 O 50 100 150 200 250 3W I Muesiras(Tiempo de rnuestreo 0.4seg) Figura 5.10 Respuesta del seguimiento de un flujo deseado sin perturbación 5.3.2. Regulación con perturbación En la figura 5.1 1, se muestra una prueba de regulación a la que se le aplica una períurbación, por medio de la válvula manual. Punto Muestras(Tiernpo de rnuectreo 0.4 seg) Figura 5.11 Regulación sin/con perturbación en la válvula 5-1 1 - Capifrrlo 5. Resirifados - El sistema se arranca con un modelo que no corresponde a la dinámica del proceso, aún así se logra tener un error en regulación del 6.6%. Sin embargo debido a que se desea que el error sea menor que el 2.5%0,inicia el proceso de sintonización de los parámetros del neuroidentificador a través de la estimación paramétrica hasta obtener un modelo, este modelo (como se mencionó anteriormente) es usado para ajustar los parámetros del neurocontrolador, de tal forma que se logre que la salida de la planta siga a la referencia. Como se muestra en la región A de la figura 5.1 1, se 1,ogra que el error sea menor al 1%. En el punto A de la figura 5.1 1, se aplica una perturbación al cerrar la válvula manual, no completamente, pero sí de manera considerable, de tal forma que el flujo del líquido disminuye por lo que genera que el error se incremente hasta 47.3%, as¡ que se inicia nuevamente el proceso de sintonización descrito y se logra regular el flujo del liquido con un error del 1.3% en la región B. 5-12 Capítulo 6 Conclusiones de los resultados . .. obtemdos 6.1 Resultados obtenidos Con base en los resultados obtenidos en el desarrollo de este tema de investigación, se concluye lo siguiente: 1. Para la identificación de sistemas no lineales se ha mostrado que los algoritmos de entrenamiento generalmente empleados en las redes neuronales artificiales, cumplen que la sensibilidad del modelo numérico obtenido sea semejante a la sensibilidad de la planta de manera local. De tal forma que siempre existe la posibilidad de la existencia de un conjunto de datos entradasalida para el cual el comportamiento del modelo no sea el esperado. Por lo tanto debe de tenerse cuidado en la selección del algoritmo de entrenamiento para las redes neuronales artificiales. 2 . Se logró mostrar el buen desempeño de las redes neuronales artificiales en la identificación de sistemas no lineales, empleando un algoritmo de estimación parametrica. con restricciones, de tal forma que la sensibilidad del modelo numérico obtenido es igual a la sensibilidad de la planta para cualquier conjunto de datos de entrada-salida. .. 3. Los métodos de estimación paramétrica generalmente empleados en las redes neuronales artificiales son capaces de encontrar un mínimo global de la función objetivo, el método de estimación ' paramétrica con restricciones encuentra un mínimo local de la función objetivo. Sin embargo, cuando se obtienen modelos numéricos usando RNA y empleando el método de estimación paramétrica con restricciones se cumple que la sensibilidad del modelo sea semejante a la sensibilidad de la planta. 4. Si la sensibilidad de una planta cambia dependiendo del punto de operación de ésta, es posible emplear el método de estimación paramétrica para calcular los parámetros del neuroidentificador teniendo cuidado de establecer correctamente las restricciones que serán función de la sensibilidad. 5. AI lograr tener un buen modelo numérico del sistema no lineal, se asegura que el neurocontrolador encontrará una ley adecuada, al menos en sentido, de tal forma que es altamente probable que se satisfaga el objetivo de control. 6. Con el presente trabajo se muestra que con la implementación del esquema de control indirecto basado en redes neuronales artificiales y empleando el método' de estimación parametrica de programación cuadrática secuencia1 (SQP) se obtienen,resultados satisfactorios aplicándolo en linea en los dos problemas del control: regulación' y seguimiento de trayectorias predefinidas, logrando errores hasta de 0.6% entre la señal de referencia y la salida de la planta. 7. El tiempo que se lleva el sistema en controlar a la planta no se debe a que el neurocontrolador realice un número considerable de iteraciones para lograr encontrar una ley de control adecuada, sino que se debe al número de iteraciones que realiza el neuroidentificador para lograr copiar la dinámica de la planta. En este sentido, el tiempo para la obtención de modelos numéricos a través de las redes neuronales artificiales es hasta de 80 seg., los mejores casos fueron de 40 seg. Sin embargo no es posible mejorar de manera considerable este tiempo, ya que es debido al tiempo de procesamiento de la máquina. 8. Cabe señalar que, por la forma de adquirir los datos, es decir, estableciendo que la derivada de la señal de la planta respecto al tiempo de muestre0 fuera menor al 2%. dy,,(k)/dk <0.02, de tal forma que se aseguraba que el sistema estaba en estado estacionario cuando se realizaba la lectura, fue posible emplear redes neuronales artificiales estáticas para la identificación de las plantas dinámicas empleando el algoritmo de estimación paramétrica SQP. 9. Se tiene la necesidad de contar con dos computadoras personales para la implementación del esquema de control indirecto basado en redes neuronales artificiales, debido a que el método de estimación paramétrica es complejo y 6-2 .vsCfif?.!.v;*"'+--* Capítulo 6. Conclusiones requiere de una cantidad considerable de iteraciones(l300 aproximadamente) para encontrar modelos numéricos adecuados. 10.Un problema de las redes neuronales artificiales es que no existe una metodología para la selección del tipo de RNA a utilizar, el número de patrones para el entrenamiento, número de capas, número de neuronas en cada una de las capas, etc. La selección de la estructura de la RNA se hizo a través de un proceso de prueba y'error, es decir, se proponía una estructura sencilla, se entrenaba a la RNA y si no se lograba el comportamiento deseado, se agregaban patrones de entrenamiento y nuevamente se entrenaba a la RNA. Si aún así no se lograba tener el comportamiento deseado, se procedía entonces a agregar neuronas en la capa intermedia de la RNA, con ello se aumenta el número de parámetros que es necesario estimar, es por ésto que mientras más sencilla sea la estructura de la RNA, se tiene un menor número de parámetros a estimar.^ es menor el tiempo de cómputo para realizar el aprendizaje de la RNA. 11. Para sistemas SISO, se recomienda proponer inicialmente una RNA cuya estructura sea sencilla, por ejemplo una RNA con una neurona en la capa de entrada, tres neuronas en la capa de salida y una neurona en la capa de salida. Los patrones de entrenamiento representan un elemento primordial en la etapa de aprendizaje o entrenamiento de la RNA, y durante la etapa de experimentación se observó que el aprendizaje se altera cuando se presentan repeticiones o ausencias de datos en ciertas regiones o zonas. Una forma de solucionar ésto es intentar distribuir los patrones de entrenamiento en toda la región de trabajo, lo cual se puede lograr muestreando adecuadamente y aplicando una señal de excitación que distribuya los patrones de entrenamiento lo mejor posible, en la etapa de obtención de datos para entrenamiento. A diferencia de la identificación para sistemas lineales, a partir de un análisis de frecuencia en donde la señal impulso, escalón o una señal pseudoaleatoria tienen preferencia por excitar más modos del sistema, los patrones de entrenamiento para una RNA deben estar distribuidos en la región de trabajo de tal forma que se logre copiar la dinámica del sistema en todo el rango de operación de la planta y se prefiere que no estén repetidos o que no se encuentren tan juntos, de esta forma la RNA puede llegar a copiar de forma adecuada el comportamiento de la planta o sistema. 12.La estructura del neuroidentificador, ya sea MISO o SISO, depende de la dinámica del sistema, ya que para dinámicas muy lentas, por ejemplo el intercambiador de calor RCT 100, fue necesario incluir una entrada extra a la RNA con el fin de lograr copiar su dinámica. En cambio, para sistemas cuya respuesta dinámica es mas 'rápida' (CE110 Servo Trainer o módulo de regulación de flujo) bastó con tener una entrada en la RNA para lograr copiar la dinámica del sistema. 6-3 Capitulo 6. Conclusiones 13.Se logró trabajar en el control indirecto en línea, lo cual muestra la capacidad de las redes neuronales artificiales estáticas para la identificación y control de cualquier sistema no lineal. 14.Usando el algoritmo de estimación paramétrica SQP para el entrenamiento del neuroidentificador, se han obtenido resultados que indican robustez del esquema de control ante perturbaciones aún cuando el aquel este en lazo abierto. 15. El entrenamiento del neuroidentificador permite obtener modelos numéricos eficientes de tal forma que se copia la dinámica de la planta. Se trabajó con plantas SISO, para las cuales las estructuras del neuroidentificador fueron SISO (CE110 Servo Trainer o módulo de regulación de flujo) y MISO ( intercambiador de calor RCT 100). Sin embargo, es posible realizar la identificación de planta MIMO o SIMO, para lo cual basta con agregar en la función de error que se propone el término que representaría a la salida extra de la planta en función de la entrada. Se empleó una ' RNA en el neuroidentificador, aunque es posible también trabajar con RNA dinámicas, la Única modificación que se realizaría es agregar la recurrencia en la función de error que se propone. 6.2 Trabajos futuros Trabajar con redes neuronales artificiales dinámicas empleando el algoritmo de estimación paramétrica SQP, con el fin de comparar el desempeño del neuroidentificador empleando ambas estructuras de redes neuronales artificiales. Investigar, además de la estructura de control indirecto basada en redes neuronales artificiales, nuevos esquemas de control basados en redes neuronales artificiales, tales como el esquema de control inverso, esquema de control con modelo de referencia, por nombrar algunos. Resulta interesante investigar acerca de la implementación en hardware de la RNA, así como también del método de estimación paramétrica. Otro punto de interés es investigar la posibilidad de desarrollar algoritmos con técnicas de búsquedas múltiples para la solución del problema de optimización. Esto es, si tenemos una superficie que representa la respuesta del sistema, nos colocamos en un punto deseado, y allí proponemos una función de error cuadrático medio, el punto deseado puede tocar en algún lado al paraboloide generando dicha función de error, pero no sabemos si este punto representa al mínimo. La idea es encontrar este mínimo de tal forma que el comportamiento del modelo sea semejante al comportamiento de la planta real en ese punto. Cuando se tiene un conjunto de patrones de entrenamiento, el procedimiento anterior se realiza para cada uno de los patrones de entrenamiento. 6-4 Apéndice A A.l Ejemplo de optimización de los parámetros de una red neuronal artificial empleando SQP Como se mencionó con anterioridad, se empleó el método de programación cuadrática secuencial (SQP)para encontrar los parámetros del neuroidentificador, de tal forma que satisfaga un criterio de desempeño dado por la diferencia entre la salida del neuroidentificador (modelo) y la salida de la planta. En este apéndice se muestra como se aplica el método de programación cuadrática secuencial descrito en la sección 4.2, para encontrar los parametros que hagan que la RNA de la figura A . l , aprenda el conjunto de datos presentados en la Tabla A.1. W Figura A 1 Esfrucfura de una red neuronal artificial - Apdiidice A. Ejemplo de In nptimizacióir de los pnrinieiros dc roin RNA Con base en los experimentos realizados al minimizar una función f, se observó que al usar una RNA como la que se muestra en la figura A.1 se obtenía un menor error cuadrático medio de dicha función f, cuando los pesos ( w f , w2) y umbrales (blib2)de las conexiones entre la neurona de la capa de entrada y las neuronas superiores de la capa intermedia y de éstas con la neurona de la capa de salida (v1,v2)eran positivos; los pesos (w3, w4) y umbrales (b3,b4) de las conexiones entre la neurona de la capa de entrada y las neuronas inferiores de la capa intermedia y de éstas con la neurona de la capa de salida (v3,v4)eran negativos. Tabla A. 1 Pafrones de entrenamiento ara una RNA Patrón k 4 5 Entrada u 6.58424 7.242672 7.966939 8.763633 9.574268 Salida 3.613434 4.177094 4.719238 6.2448 12 6.393890 Para llevar a cabo este procedimiento, se emplea la función de MATLAB v.4.2 o superior, constr que soluciona una ecuación no lineal sujeta a restricciones a través del método de programación cuadrática secuencia1 (SQP), de tal forma que los parametros de la RNA se optirnizan todos a la vez. La estructura de la función constr se muestra a continuación: x = consfr('fun :XO) x = constr('fun:xo,options) x = constr('fun',xo,options,vlb,vub) x = constr('fun',xo,options,vlb,vub, 'grad') [x,opfions] = constr('fun',xo, ...) donde xo es el punto inicial y puede ser cualquier valor. x = consfr('fun',xo) inicia en xo y encuentra el mínimo de una función fun, definida en un archivo con extensión rn llamado funm La función fun regresa dos argumentos: un valor escalar f, de la función que ha sido minimizada y una matriz de restricciones g. fW= fun(x) Alternativamente, puede usarse una expresión con x representando a las variables independientes y con f y g representando a la función y a las restricciones. x = constr('fun',xo,options) define un vector de parámetros opcionales, en donde: opfions(2) controla la precisión de x en la solución. opfions(3) controla la precisión de f e n la solución. A-2 Para mayor información en el vector options, ir a la sección del tutorial de [84] x = constr('fun:xo,options,vlb,vub) define un conjunto de limites superiores e inferiores en x a través de las matrices vlb y vub. Esto restringe la solución en el rango vlb < x < vub. Las variables vlb y vub, son de la misma dimensión de x. x = constr('fun',xo,options,vlb,vub,'gradj) llama a la función grad que regresa las derivadas parciales de la función y de las restricciones, a/¿%, en el punto x. a/¿%, [dcdg] = grad(x) La columna de dg contiene las derivadas parciales de cada una de las restricciones, es decir, la i-ésima columna de dg corresponde a la derivada parcial de la i-ésima restricción respecto a cada unos de los elementos de x. El vector options y la función grad pueden contener matrices vacías, en tal caso el vector options toma valores definidos por default y las derivadas parciales no se calculan con la función grad, sino que se calculan a través del método de diferencias finitas. Un segundo argumento en el lado izquierdo regresa los parámetros de optimización. Por ejemplo: [x, options] = constr('fun ',xo) regresa los parámetros usados en la optimización. Por ejemplo, options(l0) que contiene el número de iteraciones empleadas para encontrar el mínimo de la función. Una de las limitaciones del método es que la función que será minimizada y las restricciones deben de ser continuas. A continuación se usará esta función en la optimización de los parámetros de una red neuronal artificial. Como se ha mencionado con anterioridad, la salida de la RNA está dada por: y,", k = E v , f ( w h ü k+ b k ) 4 @.I) h=l se propone un índice de error cuadrático medio descrito por la ecuación: E,, = 2(Ym,(k.U..P)-Ypi,,(k.U))2 1 =0 (A4 A-3 Apindice A. Ejemplo de l a o p l i ~ ~ i i z a c de i ó ~losp~rametror ~ de I I I I R RNA donde p representa los parámetros de la red neuronal artificial. Interesa que la sensitividad sea positiva, como se describe en el capítulo 3, ~=~vnf(s)[l-f(s)fVih esto , se logra sólo si ambos pesos son positivos o du h=i ambos negativos. Esta condición será manejada como la restricción en el problema de optimización. Así, la función f que será minimizada empleando la función constr de MATLAB, estaría dada por la siguiente expresión: Se realiza un cambio de variables, de tal forma que los parámetros de la RNA están contenidos en el vector x , esto se debe a que MATLAB requiere que la función este en términos del vector x. La forma de la función de error f, para el ejemplo descrito esta dada por (funm): % Función de error que se minimiza f = 0.5 * (... (x( 1O)/( 1+exp(-6.584247*~(2)-~(1 )))+x(l 1)I(1+exp(-6.584247*~(4)-~(3)))+... x( 12)/(1+exp(-6.584247*~(6)-~(5)))+~( 13)/(1+exp(-6.584247*~(8)-~(7)))+... ~ ( 9-)3.613434)"2+ ... (x(lO)/(I +exp(-7,242672*~(2)-x(l )))+x( 11)I(1+exp(-7.242672*~(4)-~(3)))+... x(l2)/( 1+exp(-7.242672*~(6)-~(5)))+~( 13)/(1+exp(-7.242672*~(8)-~(7)))+... x(9)-4.177094)"2+ ... (x(lO)/(I +exp(-7.966939'x(2)-x(l)))+x(l1)/(1+exp(-7.966939*~(4)-~(3)))+... x( 12)/(1+exp(-7.966939'~(6)-~(5)))+~(13)/( 1+exp(-7.966939*~(8)-~(7)))+... ~ ( 9-)4.719238)"2+ ... Apéndice A. Ejemplo de la opiimiración de los parómetros de una RNA (x(lO)/(I +exp(-8.763633*x(Z)-x(l)))+x(l l)/(l+exp(-8.763633'~(4)-~(3)))+ ... x( 12)/(1 +exp(-8.763633'~(6)-~(5)))+~( 13)/(1 +exp(-8.763633'~(8)-~(7)))+... ~ ( 9-) 6.244812)A2+... (x(lO)/(I +exp(-9.574268*x(2)-x(l)))+x(l1)/(1 +exp(-9.574268*~(4)-~(3)))+... x( 12)/(1 +exp(-9.574268*~(6)-~(5)))+~( 13)/(1 +exp(-9.574268*~(8)-~(7)))+.. . ~ ( 9-) 6.393890)A2); % Restricciones no lineales ... g = 0.0; Las restricciones se incluyen como vectores de los límites inferiores y superiores El vector de los parámetros iniciales que se optimizan es: xo = [ 0.71588294817297 0.89284160814575 0.27310247022514 0.25476929556228 0.86560347774475 0.23235037062753 0.80487174411571 0.90839754344852 0.23189431811233 0.23931256446899 0.04975448407125 0.07838407477005 0.64081540987002]'; Empleando la función constr la solución al probiema esta dado por: El vector solución esta dado por: x = [ 0.06347019474110 0.00000000000000 0.00006418969283 O.12779590262248 -0.00133039001240 -0.14618531471238 0.00000000000000 -0.14464367523348 0.00607423357905 5.18972821136005 12.09350354975058 -13.68771654303776 -1 3.76957413744724 ] Apéndice A. Ejemplo de la optimizacidn de los parbmelros de una RNA El valor del error cuadrático medio es: 0.16042841611389 y se logra obtener en 930 iteraciones empleando el algoritmo de estimación paramétrica SQP. En la tabla A.2 se muestran los valores de los pesos y umbrales de la red neuronal artificial optimizados. 1 2 3 4 5 Pesos w 0.000000 0.127796 -0.146185 -0.144644 Pesos v 5.189728 12.093504 -13.687717 -13.769574 Umbrales 0.063470 0.000064 -0.00133 0.000000 0.006074 Se prueban los nuevos pesos en la RNA ésta proporciona las siguientes salidas yrna(l) = yrna(2)= yrna(3) = yma(4) = Yrna(5) = 3.517504 4.248850 5.013891 5.806860 6.561194 El programa en MATLAB empleado es so1.m clear all CIC % Vector de parámetros inicial XO = [ 0.71588294817297 0.89284160814575 0.27310247022514 0.25476929556228 0.86560347774475 0.23235037062753 0.80487174411571 0.90839754344852 0.23189431811233 0.23931256446899 0.04975448407125 0.07838407477005 0.64081540987002]'; x=xo; options = O; % Restricciones vlb = [O O O O -1000 -1000 -1000 4 0 0 0 O O O -1000 -1000]; v u b = [IO00 1000 1000 1000 O O O O 1000 1000 1000 O O]; A-6 . _. %Límite inferior %Límite superior NNE = 1; %no. de neuronas en la capa de entrada NNI = 4; %no. de neuronas en la capa intermedia NNS = 1; %no. de neuronas de la capa de salida . .o .I YOOptimiza la función f(x) descrita en el archivo fun.m [x,options] = constr('fun'.x,options,vlb,vub); % Una solución a este problema a sido encontrada en: .fprintf('x = %nn',x) % El valor de la función en el punto solución es: fprintf('f = %nn',options(8)) YO El número total de iteraciones fue: fprintf('1teraciones = %Rn'.options( 1O)) % Asigna pesos y umbrales de la capa intermedia en el vector de umbrales (b) y en el de pesos (P) cont=l ;k=l ; for(j=l :"I) %no. de umbrales b(j) = x(cont); cont=cont+l; for(i=l:NNE) %no de entradas p(k) = x(cont); cont=cont+l ;k=k+l; end end % Asigna pesos y umbrales de la capa de salida en el vector de umbrales (b) y en el de pesos (PI j= NNI+NNS; b(j) = x(cont); cont=cont+l; for(i=l:NNI) %no de entradas p(k) = x(cont); cont=cont+l ;k=k+l; end Escribe en el archivo pesos.ide el vector solución de pesos pesos = fopen('pesos.ide','w'); fprintf(pesos,'%nn',p); fclose(pesos); o/o Yo Escribe en el archivo bias.ide el vector solución de umbrales bias = fopen('bias.ide','w'); fprintf(bias.'%nn', b); fclose(bias); A-I Ap<’ndice A. Ejcmplo de la oprimiración de los parameiros dc una RNA .. A-8 Apéndice B $ 6.1 Programa de comunicación En este apéndice, se explica los archivos que se generan y los' que se requieren para lograr la comunicación entre la dos computadoras personales con las que es necesario implementar la adquisición y control de los sistemas expuestos en este trabajo de tesis. Una de las computadoras es denominada servidor y la otra cliente. Se cuenta con un programa de comunicación bajo la plataforma de Labwindows. El proyecto que la ruta se maneja en PC-Cliente se encuentra ubicado en c:\atarjeta\cliente\tcpclntf.prj. mkntras que el que en la PC-Servidor se encuentra ubicado en: c:\atarjeta\servidoAtcpserv.prj . Cuando se ejecuta el programa del cliente en la PC-Cliente, se tiene que dar la dirección TCP/IP de la PC-Servidor y también una dirección de memoria, en nuestro caso se le otorgaba la dirección 3000, que corresponde a la misma de la de PC-Servidor. Cuando se ejecuta el programa del servidor en la PC-Servidor, se teclea la misma dirección de memoria que se le dió a la PC-Cliente y entonces se establece la comunicación entre ambas máquinas. Apéndice A. Ejemplo de la oprimizacidn de los parametros de una RNA 8.1.1 Conexión cliente-servidor Una vez que se establece la comunicación, la PC-Cliente envía un vector con el conjunto de datos entrada-salida de la planta. Este vector tiene una dimensión fija de 500 posiciones, en donde se almacenan los parámetros que se estiman del neuroidentificador, por lo que sblo se emplean algunas de estas posiciones para almacenar dato y en la posición 450 del vector que envía PC-Cliente. se tiene la información acerca del número de datos del conjunto entrada-salida a usar en el entrenamiento (patrones de entrenamiento), de tal forma que la PC-Servidor sabe cuántos datos ha recibido. Este conjunto de datos se encuentra almacenados en el archivo c:\atarjeta\matlab\data.dat de PC-Cliente; el primer número del archivo indica el número total de renglones y el segundo número indica el total de columnas de datos que contiene el archivo, de tal forma que la PC-Cliente sabe la longitud del vector de datos que envía a la PC-Servidor. Con este vector de datos, la PC-Servidor genera un archivo c:\atarjeta\rnatlab\fun.m, el cual contiene la ecuación de la función que será minimizada. Este proceso se lleva a cabo cada 3 segundos. , Mientras se realiza lo anterior, el programa c:\atarjeta\matlab\sol.m de la PC- Servidor, puede estar ejecutándose bajo MATLAB v.5.01. El programa se inicializa con valores aleatorios en el vector solución. Como la función que minimizará debe estar contenida en el archivo c:\ atarjeta\matlab\fun.m checa si éste se encuentra vacío. Si esto sucede, entra en un ciclo de espera hasta que detecta que el archivo c:\ ...\fun.m contiene la función que se va a minimizar y la solución es almacenada en c:\.atarjeta\matlab\ini.m. Cada vez que la función cambia, se guarda en un archivo c:\atarjeta\matlab\a-#.m, donde # = 0,1,2, ...n, con el fin de ir almacenando los modelos que se fueron resolviendo, así como el vector solución para cada uno de ellos. Esto con el objetivo de analizar los datos con los que se entrena cuando surge algún problema como el que no sea posible encontrar un modelo adecuado. I - _ 6.1.2 Conexión servidor-cliente Cuando se ha encontrado la solución del problema, es decir se han estimado los parámetros del neuroidentificador, la PC-Servidor lee del archivo c:\.atarjeta\matlabkini.m el vector solución y lo escribe al cliente. El cliente lo lee y lo almacena en un vector. Sin embargo, es necesario que el vector solución sea separado en pesos y umbrales del neuroidentificador, así que la PC-Cliente realiza este proceso y almacena los pesos en el archivo c:\atarjeta\rnatlab\pesos.ide y los umbrales en el archivo c:\atarjeta\matlab\bias.ide del cliente. Los archivos c:\ ...\pesos.ide y c:\ ...\bias.ide contienen en su primer línea el número 31, el cual indica que el archivo contiene ya todos los pesos y umbrales del neuroidentificador. Esto es debido a que el programa general de RNA en algún B -2 momento necesita leer tales archivos y si éstos se encuentran vacios (ésto sucede sólo mientras el cliente guarda a disco los datos que ha recibido) espera hasta que el archivo que contienen los datos esta grabado, esto lo hace checando que la primer línea del archivo se igual a 31. B.2 Programa general de RNA El programa general de RNA, se encuentra en la ruta c:\atarjeta\easyio\aowave.prj de la PC-Cliente. Los parámetros del neuroidentificador se encuentran en la ruta c:\atarjeta\matlab\pesos.ide y c:\atarjeta\matlab\bias.ide. Los parámetros del neurocontrolador se encuentran en c.\atarjeta\easyio\pesos.con y c:\atarjeta\easyio\bias.con. La adquisición de los datos de la planta se realiza en el programa c:\atarjeta\easyio\ai-async.c y el envio de los datos se lleva a cabo en c:\atarjeta\easyio\ao_async.c . Estos archivos, son una modificación de los programas originales de LabWindows. B-3 I B-4 . '. Apéndice C C.l Metodología propuesta para identificar una planta SISO usando redes neuronales artificiales Con base en la experiencia adquirida en el desarrollo de este trabajo de tesis, se propone la siguiente metodología para realizar la identificación de una planta usando redes neuronales artificiales (neuroidentificador). 1. Determinar la dinámica de la planta con base en la variable de interés, es decir, cuando la variable es temperatura la dinámica de la planta es lenta, mientras que en el caso de variables de fluido, presión, velocidad, etc., la dinámica es rápida. Si la dinámica de la planta es lenta y además presenta un retardo de tiempo tal como el intercambiador de calor, es muy probable que presente dos comportamientos distintos para una misma señal de entrada. Este conjunto de datos la RNA no los puede aprender, por lo que se recomienda emplear un esquema de identificación serie-paralelo, usando como entradas a la RNA la señal de control, u,,,, ( k ) , y la señal de salida de la planta retardada en una unidad de tiempo, yD,="(k-1). Si la dinámica de la planta es rápida, es recomendable usar un esquema de identificación paralelo, de tal forma que la entrada a la RNA es la señal de control, u,, ( k ) . 2. Usar una RNA estática con una configuración simple en la capa intermedia, se recomienda usar de tres a cuatro neuronas con el fin reducir la cantidad y el tiempo de cómputo para estimar los parámetros en la RNA. Proponer utilizar una neurona en la capa de salida mientras que el número de neuronas en la capa de entrada depende de la dinámica del sistema como se mencionó anteriormente. 3. Aplicar a la planta una señal de excitación tipo rampa con el fin de distribuir sus datos de salida, los cuales (conjunto de datos entrada-salida) serán empleados como patrones de entrenamiento representando un elemento primordial en la etapa de aprendizaje de la RNA. Una buena distribución de los datos a lo largo de toda la región de trabajo radicará en una mejor identificación de la dinámica de la planta. 4. Se recomienda emplear una cantidad de datos de entrenamiento mayor a diez, los cuales representen la región de operación de la planta, de esta forma se asegura que el neuroidentificador logre copiar la dinámica de la planta además de las no linealidades que pudieran existir en el comportamiento de la misma. 5. Si los datos de entrenamiento de la RNA varían, por ejemplo, en el rango de O a 100 unidades, se recomienda normalizarlos a un rango de O a 1 y la separación entre ellos (Idato(k - 1) -dato(k - 2)1< 5% ) se recomienda que sea de un 5% al 10%. Si el rango de los datos varía de O a ' l 0 , es posible trabajar directamente con ellos teniendo una separación de 0.5 unidades. ... 6. El siguiente paso es entrenar la RNA con el conjunto de datos entrada-salida (patrones de entrenamiento) obtenidos. Si no se logra el comportamiento deseado, agregar más datos al conjunto de entrada-salida y entrenar nuevamente a la RNA. 7. Si aún así no se logra obtener el comportamiento deseado, entonces será necesario agregar neuronas en la capa intermedia de la RNA, pero con ello se aumenta el número de parámetros de la RNA que se estiman, es por ésto que mientras más sencilla sea la estructura de la RNA, se tiene un menor número de parámetros-a estimar y es menor el tiempo de cómputo para realizar el aprendizaje de la RNA. Continuar agregando neuronas en la capa intermedia hasta lograr copiar la dinámica de la planta. e-2 Referencias [ l ] Narendra, K. "Neural network for control theory and practice", Proceedings of the /€€E, vol. 84, no. 10, pp. 1385-1406, 1996. [2] lsidori Alberto, Nonlinear Control Systems, introduction, Springer-Verlag third edition, 1995. [3] Khalid Marzuki, Omatu S. and Yusof R.. "Temperature regulation with neural networks and alternative control schemes", /€€E Transactions on Neural Networks, vol. 6, no. 3, pp.572-582, 1995. 2 [4] Alves da Silva A.P., et al.. "A nonparametric neural networks for adaptive real time control '", /€€E lnternational Conference on Systems, Man and Cybernetics. vol. 3, pp. 2488-93, 1995. [5] Narendra op.cit. p.1385 [6] Idem p.1401 [7] Rao D.H., "Neural networks in robotics and control: some perspectives", /€E€ lnternational . Conference on lndustrial Automation and control, p.451, 1995 [8] lsidori Alberto, op.cit. p.5 [9] Khalid Manuki, op.cit. pp.572-582. [IO] Young-Moon, Myeon-Song Choi, Kwang Y. Lee, "An optimal tracking neurocontroller for nonlinear dynamic systems", /€E€ Transactions on neural networks, vol. 7, no. 5, p.1099, 1996. [ll]Hilera José y Martínez Victor J., Redes neuronales artificiales. Fundamentos, modelos y aplicaciones, fundamentos de las redes neuronales, Addison-Wesley Iberoamericana, Madrid, España 1995. p.45 [12] Rao D.H. op.cit., p.451 [I31 Idem [I41 Hilera José op.cit. p.45 [I51 Idem p.46 [I61 Ibidem, p.49 [I71 Hunt K.J. et al.. "Neural networks for control systems-A survey", Autmáfica(/FAC), vo1.28, no.6, p.1086, 1992 [I81 Jin Liang and Madan M. Gupta, "Dynamic feedback control of unknown nonlinear systems using dynamic neural networks", /€E€ lnternafional conference on systems, man and cybernetics. lnteligent systems for the 21" century, vol 2, p. 1261, 1995 [I91 Hunt K.J., op.cit. p.1087 [20] Hernandéz Reyes A,, "Neuro-observador de flujo magnético para el control de flujohelocidad de un motor de inducción" (Tesis de maestría en ciencias en ingeniería electrónica), Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, 1997, p. 2-2 [21] Hunt K.J., op.cit. p. 1087 [22] Rao D.H., op.cit., p.451 [23] Parra Hernández R. "Sistema de control supervisorio y control de velocidad para una turbina de gas basado redes neuronales artificiales'' (Tesis de maestría en ciencias en ingeniería electrónica), , Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, 1996, p.2-4. [24] Rao D.H., op.cit., p.451 [25] Parra Hernández R. op.cit. p.2-4. [26] Chao-Che Ku and Kwang Y. Lee "Diagonal recurrent neural networks for dynamic systems control", /€€E Transactions O R neural networks. vo1.6, no.1, p.144,1995 [27] Jin Liang, op.ct. p. 1261 [28] Idem [29] Chao Che Ku, op cit. p.144 [30] Hunt K.J., op.cit, p.1084 [31] Alves da Silva, op.cit. p.2488 [32] Idem [33] Ibidem [34] Hunt K.J. and Sbarbaro D.. "Neural networks for nonlinear internal model control", /€E€ Proccedings-D, ~01.138,no.5. p.431, 1991 [35] Narendra, K.op.cit. p.1400 I . [36] Hunt K.J.. op.cit., p.1101, 1996 [37] Xianzhong Cui y Kang G. Shin, "Direct control and coordination using neural networks". /E€€ Transactions on systems, man and cybernetics, vo1.23, no.3, p.686, 1993 1381 Hernandez Reyes A,, op.cit. pp. 3.3-3.5 [39] Idem pp.3.6-3.15 [40] Ergezinger S. and Thomsen E., "An accelerated learning algorithm for multilayer perceptrons: Optimization layer by layer" /€E€ Transactions on neural network, vol 6, no.1, pp.31,33, 1995. [41] Narendra K. and Parthasarathy., "Identification and control of dynamic systems using neural networks", /E€€ Transactions on neural networks, vol. 1. no. 1, p. 5, 1990. [42] Idem [43] Ibidem p.6 - [44] Sjoberg J. and De Raedt P., "Nonlinear systems identification: a software concept and examples", In 'Proceedings lFAC Symposium on Identification, Japan, p.3, 1997. [45] Narendra K., pp. 13.14 1990 [46] Hunt K.J., et a/. ."Neural Networks for control systems-. A survey", Automatica(lFAC), vol 28, no.6, pp.1097,1098, 1992 [47] Henson Michael A. and Seborg Dale E., "Nonlinear Process Control", Chapter 7, Prentice-Hall 1997,. pp. 378-380 [48] Hernández Reyes A,, op.cit., pp. 3.3-3.5 [49] Manual del intercambiador de calor RCT 100, GRUPO DIDATEC Ingeniería Pedagógica y Didáctica, S.A. de C.V. [50] Stephanopoulos G.. Chemical Process Control-An introduction tolheory and Practice, Chapter 30, Prentice-Hall 1984, p.639 [51] ft~://ft~.sas.mm/~ub/neural/FAQ3.html/questions [52]TecQuipment Limited, "CEI 10 Servo Trainer Guide Reference", PWIPElajpIOl97, Distribuido en Mexico por: Harry Mazal, S.A. de C.V. con dirección en Laguna de Tamiahua No. 204, Col. Anáhuac, 11320, México, D.F. e-mail: 74173.226@compuserve.com 1 [53] Idem [54] Astrom Karl J., "Computer Controlled Systems-Theory and Design", Chapter 6, Prentice-Hall, 1984, p.187. [55] Stephanopoulos G., op.cit. p.640 [56] Narendra K., op.cit., p.6. 1990 [57] Hunt K.J., op.cit., p.1101. 1992 [58] Xianzhong Cui, op.cit. p.688. [59] Drucker Harris and Yann Le Cun, "Improving Generalization Performance Using Double Backpropagation", /€E€ Transactions on Neural Networks, vo1.3, no.6, p.991, 1992. [60] Young-Moon op.cit., p.1103. [61] Hunt K.J., op.cit., p.688, 1991 [62] Chao-Che Ku,op.cit., p.147 [63] Lennari Ljung, System Identification: Theory for the User, Chapter 10 Computing the estimate, Prentice-Hall, 1987, p.295 [64] Hernandez Reyes A,. op.cit. p. 3.7 [65] Himmelblau D.M. and Edgar T.F., Optimization of chemical process, Chapter 1 , p. 4-14, McGraw-Hill 1989 [66] Brian D. Bunday, Basic Optimisation Methods, Part I Unconstrained Optimization-Chapter 1, Edward Arnold Ltd, pp.4-7 1985 R-4 . . .- . , [67] Hirnrnelblau D.M., op.cit. p.300 [68] http://www-fp.rncs.anI.qov/otc/GuidelO~tWeblcontinuous/constrained/,.. nonlinearcon/ [69] Panier Eliane R and Tits André L.. "On Combining Feasibility, Descent and Superlinear.Convergence in Inequality Constrained Optimization", pp.2,3 " [70] Idern pp.1-15 [71] flp://plato.la.asu.edu/pub/donlp2/README.donlp2 [72] Hirnrnelblau D.M., op.cit. pp.221,222 [73] Idern [74] Brian D. Bunday, op.cit. p.83 ~ [75] Hirnrneiblau D.M., opcit. pp. 208-213 [76] Grace Andrew, Optimization Toolbox for use with MATLAB, User's Guide, _._ Section 2, pp.2.26-2.32, The Math Works Inc, 1994. [77] Chao-Che Ku, op.cit. pp145-147 [78] Hernandez Reyes A,, op.cit. pp. 3.3-3.5 [79] AT-M10-16X User Manual, National Instruments, 1994 Edition Part number 320640-01 [80] LabWindowslCVl User Interface Reference Manual, National Instruments, 1998 [81] TecQuipment Limited, CEllO Servo Trainer Guide Reference, Section 5, pp. 5.9-5.10. [82] Astrorn Karl J., op.cit. p.187 [83] Stephanopouios G., op.cit. p. 639 [84] Grace Andrew, op.cit. pp 1.13-1.15,2.22-2.32.3.9-3.12 SEI' CENEDET DGIT CEI\I$RO DE BNFBRMACIBN 99- 0555 R-5 ~ Referencias Bibliografía Alves da Silva A.P. et al., "A nonparametric neural networks for adaptive real time control ", /E€€ lnternational Conference on Systems, Man and Cybernetics. vol. 3, pp.2488-2493. 1995. Astrom Karl J., Computer Controlled Systems-Theory and Design, Chapter 6. Prentice-Hall, 1984, p.187. AT-MIO-16X User Manual, National Instruments. 1994 Edition 320640-01 Part number Bunday Brian D., Basic Optimisation Methods, Part I Unconstrained Optimization Edward Arnold Ltd, pp.4-7, 1985 2 Chao-Che Ku y Kwang Y. Lee "Diagonal recurrent neural networks for dynamic systems control", /€€E Transactions on neural networks, vo1.6, no.1, pp.144155,1995 Drucker Harris and Yann Le Cun, "Improving Generalization Performance Using Double Backpropagation", /€E€ Transactions on Neural Networks, vo1.3. no.6, pp.991, 1992. Ergezinger S. and Thomsen E., "An accelerated learning algorithm for multilayer perceptrons: Optimization layer by layer" /€E€ Transactions on neural network, vol 6, no.l, pp.31-42, 1995. ftp://ftp.sas.com/pu b/neural/FAQ3.html/questions Grace Andrew, Optimization Toolbox for use with MATLAB, User's Guide, The Math Works Inc, 1994 Henson Michael A. and Seborg Dale E., Nonlinear Process Control, Chapter 7, Prentice-Hall, 1997 .~ Hernández Reyes A., "Neuro-observador de flujo magnético para el control de flujo/velocidad de un motor de inducción" (Tesis de maestría en ciencias en BibliograJia ingenierla electrónica), Centro Nacional de Investigación y Desarrollo Tecnol6gico. Cuernavaca, Morelos, 1997, pp.2.1-2.18 Hilera José y Martinez Víctor J., Redes neuronales artificiales. Fundamentos, modelos y aplicaciones, Fundamentos de las redes neuronales. AddisonWesley Iberoamericana, Madrid, EspaAa 1995 Himmelblau D.M. and Edgar T.F. Optimization of chemical process, McGrawHill 1989 Hunt K.J., et al. "Neural networks for control systems-A survey", Autmática(lfAC), vo1.28, no.6, pp.1083-1111, 1992. Hunt K.J. and Sbarbaro,D., "Neural networks for nonlinear internal model control", /€E€ Proccedings-D, vol.138, no.5, pp.431-438, 1991 httD://www-fo.mcs.anI.qov/otc/Guide/OptWeb/continuous/constrained/... nonlinearconl lsidori Alberto, Nonlinear Control Systems, Introduction. Springer-Verlag third edition, 1995. _I_ Jin Liang and, Madan M. Gupta, "Dynamic feedback control of unknown nonlinear systems using dynamic neural networks", /E€€ international conference on systems, man and cybernetics. lnteligent systems for the 21'' century, vol 2, pp. 1261-1266,2995 Khalid Marzuki, Omatu S. and Yusof R., "Temperature regulation with neural networks and alternative control schemes", /E€€ Transactions on Neural Networks, vol. 6, no. 3, pp.572-582, 1995. LabWindowslCVl User Interface Reference Manual, National Instruments, 1998 Lennart Ljung, System Identification: Theory for the User, Chapter 10, PrenticeHall, 1987 Narendra K. and Parthasarathy. "Identification and control of dynamic systems using neural networks", /€E€ Transactions on neural nehuorks, vol. 1. no. 1. p. 5, 1990. Narendra. K. "Neural network for control: theory and practice", Proceedings of the /€€E,vo1.84. no. 1O, pp.1385-1406, 1996. . *,, Panier Eliane R. and Tits André L., "On combining feasibility, descent and superlinear convergence in inequality constrained optimization", pp.1-15. s-2 BibliograJia Parra Hernández R. “Sistema de control supervisorio y control de velocidad para una turbina de gas basado redes neuronales artificiales” (Tesis de maestría en ciencias en ingeniería electrónica), Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, 1996. Rao D.H. “Neural networks in robotics and control: some perspectives”, /€€E International Conference on lndustrial Automation and control, pp.451-456,1995 Sjoberg J. and De Raedt P., “Nonlinear systems identification: a software concept and examples”, In Proceedings lFAC Symposium on identification, Fukukoka, Japan 1997. Stephanopoulos G., Chemical Process Control-An introduction toTheory and Practice, Prentice-Hall 1984 TecQuipment Limited, C E l l O Servo Trainer Guide Reference, PW/PE/ajp/O197 Xianzhong Cui y Kang G. Shin, “Direct control and coordination using neural networks”, /€E€ Transactions on systems, man and cybernetics, vo1.23, no.3, pp.686-697, 1993 Young-Moon, Myeon-Song Choi, Kwang Y. Lee, “An optimal tracking neurocontroller for nonlineal dynamic systems”, /€E€ Transactions on neural networks, vol. 7, no. 5, pp.1099-1110, 1996. Bibliografía . s-4 .