SEP SEIT DGIT - TecNM | Tecnológico Nacional de México ......5.4.1 Control del manipulador con...

99

Transcript of SEP SEIT DGIT - TecNM | Tecnológico Nacional de México ......5.4.1 Control del manipulador con...

  • SEP SEIT DGIT

    CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO

    cenidet

    IMPLEMENTACIÓN DE UNA RED NEURONAL HOLOGRÁFICA, PARA EL CONTROL DE UN BRAZO ROBOT ARTICULADO

    T E S I S

    QUE PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS

    EN CIENCIAS COMPUTACIONALES

    P R E S E N T A :

    JOSÉ JUAN HERNÁNDEZ MORA

    ASESOR: DR. JOSÉ RUIZ ASCENCIO

    COASESOR:

    DR. RAÚL PINTO ELÍAS

    CUERNAVACA MOR. ENERO DEL 2003

  • Dedicatorias Al Todo Poderoso: Por permitirme existir Por todo lo que me ha dado en la vida Por todo lo que he aprendido Por que siempre ha estado conmigo.

    A mis Padres:

    Por haberme creado Por haberme educado

    Por haberme enseñado los valores de la vida Por que sin ellos, sería nada.

    A Lupita:

    Por todo el amor que me ha brindado

    Por enseñarme a valorar la vida Por todo el apoyo que me ha dado.

  • AGRADECIMIENTOS

    Al Centro Nacional de Investigación y Desarrollo Tecnológico, como casa formadora de

    mis estudios de maestría.

    Al Consejo del Sistema Nacional de Educación Tecnológica, por el soporte económico que

    me otorgó durante mis estudios de maestría.

    A la Dirección General de los Institutos Tecnológicos, por el apoyo que me ha dado para

    obtener mi grado de maestría.

    Al Instituto Tecnológico de Apizaco, como institución que me brindó todo el respaldo para

    estudiar mi maestría, así como para la obtención de grado.

    Al Dr. José Ruiz Ascencio, que como asesor me otorgó su aliento, paciencia y experiencia

    profesional durante el desarrollo de esta tesis.

    Al Dr. Raúl Pinto Elías, por su asistencia y amistad durante el desarrollo de mi

    investigación.

    Al Dr. Gerardo reyes Salgado, Dr. Luis Gerardo Vela Valdés y el M.C. Manuel Mejía

    Lavalle, por el tiempo que me otorgaron en la revisión de esta tesis y las observaciones que

    hicieron a la misma, con lo cual fue posible mejorar la calidad de este trabajo.

    Al Dr. Juan Manuel Ricaño Castillo, por el respaldo para realizar los estudios de la

    maestría.

    Al Dr. Tomas Morales Acoltzi, M.C. Pedro Rafael Mendoza y la M.C. Yesenia Gonzalez

    Meneses, por sus oportunas sugerencias a este trabajo de investigación.

  • i

    Tabla de Contenido Capítulo 1 - Descripción del problema y propuesta de Solución 1

    1.1 Antecedentes 1 1.2 Planteamiento del problema 2

    1.2.1 Problemas fundamentales 2 1.2.2 Problema a solucionar 3

    1.3 Estado del arte 3 1.3.1 Control y manipulación de robots manipuladores 3 1.3.2 Investigaciones utilizando redes holográficas 4 1.4 Propuesta de solución 5 1.4.1 Objetivo general 5 1.4.2 Objetivos particulares 5 1.5 Alcances 6 1.6 Beneficios y contribuciones 6 1.7 Plan de exposición 6

    Capítulo 2 - Redes neuronales artificiales 7

    2.1 Introducción a las redes neuronales 7 2.1.1 Neuronas Biológicas 7

    2.2 Redes Neuronales Artificiales 9 2.3 Red Holográfica 9

    2.3.1 Introducción 9 2.3.2 Arquitectura de la red holográfica 10 2.3.3 Parámetros de la red holográfica 11 2.3.4 Aprendizaje 13 2.3.5 Decodificación 15 2.3.6 Error de la red holográfica 17 2.3.7 Reducción del error 19

    2.3.7.1 Expansión de los elementos del estímulo (generación de estadísticos) 19 2.3.7.2 Resaltamiento de la información 20

    2.4 Comentario 21 Capítulo 3 - Control con redes neuronales artificiales 22

    3.1 Introducción 22 3.2 Identificación 23 3.3 Identificación de sistemas dinámicos usando redes neuronales artificiales 26 3.4 Control con redes neuronales artificiales 28 3.5 Comentario 29

    Capítulo 4 - Simulación del manipulador 30

    4.1 Introducción a la simulación 30 4.2 Modelado del manipulador 31

    4.2.1 Metodología para la simulación de un manipulador de dos grados de libertad 32

    4.3 Elección del método numérico 34 4.4 Control de un eslabón a través de un motor de corriente directa 34

    4.6 Comentario 37 Capítulo 5 – Pruebas de identificación y control con redes neuronales artificiales 38

    5.1 Introducción 38 5.2 Identificación de sistemas 38 5.3 Pruebas de identificación de una trayectoria específica con

    dos paradigmas de redes neuronales 39

  • ii

    5.3.1 Pruebas de identificación de una trayectoria específica con dos paquetes de redes neuronales 41

    5.3.2 Pruebas de identificación de una trayectoria específica con dos paradigmas de redes neuronales implementadas en C++ 45

    5.4 Control del manipulador 51 5.4.1 Control del manipulador con redes neuronales artificiales 51 5.4.2 Modelo de identificación 52 5.4.3 Obtención del modelo inverso de las fuerzas gravitatorias 53

    5.5 Control realizado y resultados con red neuronal holográfica 56 5.5.1 Trayectorias usadas para la identificación del manipulador 56 5.5.2 Control con la red neuronal holográfica 61

    5.6 Control realizado y resultados con red neuronal “backpropagation” 65 5.7 Comentarios 70

    Capítulo 6 – Conclusiones 71

    6.1 Resumen 71 6.2 Logros alcanzados 73 6.3 Conclusiones 74 6.4 Aportaciones 75 6.5 Inconvenientes y mejoras 75 6.6 Trabajo Futuro 76

    Anexos Apéndice A - Elección del método numérico 77 Apéndice B - Pruebas de generalización de la red holográfica y “backpropagation” 82 Bibliografía 85

  • iii

    Índice de Figuras Figura 1.1 Robot planar articulado 3 Figura 2.1 Neurona Biológica 8 Figura 2.2 Neurona Artificial 9 Figura 2.3 Configuración básica del paradigma holográfico 10 Figura 2.4 Normalización lineal 11 Figura 2.5 Normalización sigmoidal 11 Figura 2.6 Valor de la información en red holográfica consistente de magnitud y fase 12 Figura 2.7 Suma vectorial representativa de una respuesta 17 Figura 3.1 Modelo I de plantas discretizadas en el tiempo 23 Figura 3.2 Modelo II de plantas discretizadas en el tiempo 24 Figura 3.3 Modelo III de plantas discretizadas en el tiempo 24 Figura 3.4 Modelo IV de plantas discretizadas en el tiempo 25 Figura 3.5 Entrenamiento de una red neuronal 26 Figura 3.6 Red Neuronal Multicapa 27 Figura 3.7 Identificación de plantas no lineales usando redes neuronales 27 Figura 3.8 Control en lazo abierto con la RNA como inverso de la planta 28 Figura 3.9 Control con modelo neuronal como inverso de la planta y control PI en paralelo 28 Figura 3.10 Control con modelo neuronal como inverso de la planta y control PI en serie 29 Figura 4.1 Motor de C.D. Controlado por voltaje de armadura 35 Figura 4.2 Control proporcional para un eslabón 35 Figura 4.3 Curvas de velocidad del eslabón y voltaje aplicado al motor con respecto al tiempo, para un

    desplazamiento de –1.9 a 1.5 radianes. 36 Figura 4.4 Curvas de velocidad del eslabón y voltaje aplicado al motor con respecto al tiempo, para un

    desplazamiento de 1.5 a -1.5 radianes. 36 Figura 5.1 Trayectoria primer eslabón 40 Figura 5.2 Trayectoria segundo eslabón 40 Figura 5.3 Esquema de identificación 41 Figura 5.4 HneT Discovery System ver 2.1 empleado para la identificación de la planta 41 Figura 5.5 Qnet aplicado para identificar la planta 42 Figura 5.6 Generación de par para el primer eslabón por la red “backpropagation” 42 Figura 5.7 Generación de par para el primer eslabón por la red holográfica 43 Figura 5.8 Generación de par para el segundo eslabón por la red “backpropagation” 44 Figura 5.9 Generación de par para el segundo eslabón por la red holográfica 45 Figura 5.10 Generación de par para el primer eslabón por la red “backpropagation” en C++ 46 Figura 5.11 Generación de par para el segundo eslabón por la red holografica 47 Figura 5.12 Generación de par para el primer eslabón por la red “backpropagation” en C++ 48 Figura 5.13 Generación de par para el segundo eslabón por la red holográfica 49 Figura 5.14 Generación de par para el segundo eslabón por la red holográfica con 4 épocas 50 Figura 5.15 Control con modelo neuronal inverso de la planta y control P en paralelo 51 Figura 5.16 Control del manipulador con la red holográfica y un control proporcional 51 Figura 5.17 Control del manipulador con modelo de compensación gravitatoria 52 Figura 5.18 Manipulador planar de dos grados de libertad 54 Figura 5.19 (a) Manipulador con τ1=0 y τ2=0 55 Figura 5.19 (b) Manipulador con τ1=0 y τ2>0 55 Figura 5.20 Entrenamiento de la red neuronal holográfica 56 Figura 5.21 Trayectoria del punto P1=(2.0,0.0) (θ1=0 y θ2=0) al punto P2=(0.2143,0.0) 57

  • iv

    Figura 5.22 Trayectoria del punto P1=(0.2143,0.0) al punto P2=(0.2143,-1.4286) 58 Figura 5.23 Trayectoria del punto P1=(0.2143,-1.4286) al punto P2=(0.2143,0.0) 59 Figura 5.24 Trayectoria del punto P1=(0.2143,0.0) al punto P2=(0.2143,1.4286) 60 Figura 5.25 Trayectoria del punto P1=(0.2143,1.4286) al punto P2=(0.2143,0.0) 61 Figura 5.26 Red holográfica como controlador 62 Figura 5.27 Posición final del manipulador después de un desplazamiento al punto P=(0.8142,-1.2293) 63 Figura 5.28 Posición final del manipulador después de un desplazamiento de la posición exhibida en la

    figura 5.27 al punto P=(0.7128,1.6148) 63 Figura 5.29 Posición final del manipulador después de un desplazamiento de la posición exhibida en la

    figura 5.28 al punto P=(0.2441,0.3003) 64 Figura 5.30 Posición final del manipulador después de un desplazamiento de la posición exhibida en la

    figura 5.29 al punto P=(1.885,0.4589) 64 Figura 5.31 Identificación con la red “backpropagation” 65 Figura 5.32 Control con red “backpropagation” 66 Figura 5.33 Posición final del manipulador después de un desplazamiento al punto P=(0.5411,1.4141) 67 Figura 5.34 Posición final del manipulador después de un desplazamiento de la posición exhibida en la figura 5.33 al punto P=(1.1441,-1.1403) 67 Figura 5.35 Posición final del manipulador después de un desplazamiento de la posición exhibida en la figura 5.34 al punto P=(0.4269,0.0147) 68 Figura 5.36 Posición final del manipulador después de un desplazamiento de la posición exhibida en la figura 5.35 al punto P=(1.081,1.5733) 69

  • v

    Índice de Tablas Tabla 4.1 Posiciones iniciales y finales en radianes del eslabón 37 Tabla 5.1 Comparación en identificación de la red “backpropagation” y la red holográfica 50 Tabla 5.2 Errores de posición en el control con la red holográfica 65 Tabla 5.3 Errores de posición en el control con la red “backpropagation” 69 Tabla 5.4 Comparación de las redes neuronales “backpropagation” y holográfica 70

  • Descripción del problema y propuesta de solución

    1

    Capítulo 1

    Descripción del problema y propuesta de solución

    1.1 Antecedentes En la actualidad para realizar tareas parecidas a las que realizan los brazos humanos, se utilizan ciertos mecanismos que son capaces de manipular objetos. A estas máquinas se les llama “Robots”. Los robots son mecanismos de cinemática y dinámica compleja que requieren de una coordinación y sincronización de movimientos de sus partes individuales. El control de robots es un área donde hay muchos trabajos de investigación ya realizados, con muchas alternativas [FU_1990] [CRAIG_1989] [SCIAVICCO_1996].

    La inteligencia artificial estudia la forma en que las máquinas puedan percibir, actuar e incluso razonar en forma análoga a los seres humanos. El estudio y la investigación de la inteligencia artificial a generado nuevos paradigmas del procesamiento y manejo de la información, entre ellos encontramos a los modelos conexionistas o redes neuronales artificiales, que han tenido mucho auge en las últimas tres décadas.

    Las redes neuronales artificiales son una buena alternativa para el control de robots debido a que tienen la capacidad de: aprendizaje adaptativo, autorganización, generalización, tolerancia a fallos ya sea por falta de información o información ruidosa, también por degradación física de la misma red; además de que se pueden implementar fácilmente en lenguajes de programación comunes como: C, Fortran, Pascal o C++; pero más importante es su capacidad de realizar representaciones de mapeos complejos entre las entradas y salidas de sistemas dinámicos, que han probado su capacidad de aproximar amplias clases de funciones no lineales [CEMBRANO_1992], sobre todo en sistemas no lineales que representan manipuladores robóticos [FUKUDA_1996] [BEKEY_1992] [LEWIS_1999].

  • Descripción del problema y propuesta de solución

    2

    Lo anterior ha ocasionado que las redes neuronales artificiales estén siendo estudiadas para llenar muchas de las brechas presentadas en técnicas de control clásico, y varios proyectos de investigación y desarrollo de gran escala están actualmente en marcha para aplicar redes neuronales en aplicaciones de control.

    El control de robots con redes neuronales ha demostrado su utilidad con gran eficiencia en múltiples investigaciones [TANAKA_1996], en particular el caso de la red “backpropagation” [LEWIS_1996] [FUKUDA_1996] [LEWIS_1999].

    En este trabajo se pretende demostrar la factibilidad del empleo de una red neuronal, específicamente el modelo holográfico para el control de un manipulador, el cual basa su mecanismo de aprendizaje en una correlación estímulo-respuesta. La red neuronal holográfica opera como una transformada determinística a través del mapeo de conjuntos de estímulos analógicos hacia un respuesta analógica de salida, funcionando como una memoria asociativa con niveles muy altos de almacenamiento de información (densidad) [SUTHERLAND_1992].

    1.2 Planteamiento del problema

    1.2.1 Problemas fundamentales

    Los problemas fundamentales para controlar a un brazo robot son:

    Planeación de la trayectoria. Control del movimiento. La planeación de la trayectoria consiste en encontrar la secuencia de puntos por donde el manipulador debe pasar, teniendo coordenadas iniciales y finales, con ciertas restricciones físicas como velocidad, tiempo, etc.

    El control del movimiento consiste en calcular la fuerza aplicada en las articulaciones que le permita al robot moverse dentro de la trayectoria ya establecida [KOSKO_1992].

  • Descripción del problema y propuesta de solución

    3

    1.2.2 Problema a solucionar

    Sí tenemos un robot manipulador que se mueve en un plano (figura 1.1), la función del controlador del movimiento del brazo robot en su forma más simple es encontrar las fuerzas pares estímulo para mantener la respuesta dinámica de acuerdo a los ángulos de rotación deseados en cada una de las articulaciones (α y θ ).

    Figura 1.1

    Robot planar articulado

    Las fuerzas pares que se requieren para impulsar un brazo robot, no se determinan solo por las fuerzas estáticas y dinámicas de cada articulación, también reaccionan a los pares de torsión de otras articulaciones y a los efectos centrífugos. Esto genera que las leyes de control que se necesitan para controlar un brazo robot sean muy complejas [SCIAVICCO_1996].

    1.3 Estado del arte 1.3.1 Control y manipulación de robots manipuladores La simulación y el control de robots manipuladores involucran diferentes áreas como son: mecánica, electrónica, computación, simulación de sistemas y técnicas de inteligencia artificial.

    La simulación de sistemas se basa principalmente en la computación, la matemática, la probabilidad y la estadística. El éxito de una buena simulación es el buen desarrollo del modelo matemático del sistema y el uso adecuado de métodos numéricos. Esto lo podemos ver en el trabajo de Baltazar López [BALTAZAR_1994], quien desarrolló un modelo

  • Descripción del problema y propuesta de solución

    4

    matemático que simula gráficamente las características cinemática y dinámicas de un manipulador de dos y tres eslabones. Propone un modelado dinámico por medio del planteamiento de las ecuaciones dinámicas de un manipulador en forma matricial mediante el uso de tablas espaciales, adaptando la ecuación de Lagrange, utilizando métodos numéricos y aplicando algunas restricciones: no considera fuerzas de fricción, claros mecánicos, ni flexibilidad del sistema. Cabe mencionar que este trabajo únicamente realiza la simulación gráfica de la cinemática y dinámica del manipulador pero no realiza ningún tipo de control, además usa “Autocad” para presentar sus simulaciones gráficas.

    Para la simulación de robots se han desarrollado varios modelos generados por

    diferentes técnicas, como se puede ver en [CRAIG_1989] y [SCIAVICCO_1996]. El modelo utilizado en esta tesis es el de [FU_1990].

    La simulación gráfica de robots requiere de ecuaciones de cinemática del

    manipulador, o técnicas alternativas como las de Kip-Kap y Yong-San [KIP-KAP 1992], quienes proponen calcular la cinemática inversa para manipuladores articulados planos de dos y tres eslabones con una red neuronal “backpropagation”, pero el error de posición mínimo alcanzado en su trabajo es de 2.84 mm, lo cual es muy grande para robots industriales, por lo que usan el apoyo de un método analítico para mejorar la precisión de la red. El control de robots con redes neuronales artificiales ha logrado grandes resultados, e incluso se han hecho mejoras en este tipo de control, como lo demuestran F. L. Lewis, A. Yesildirek y K. Liu [LEWIS_1996]. Que desarrollaron una red neuronal multicapa basada en el algoritmo “backpropagation” para controlar un brazo robot rígido de articulaciones seriadas, modificando el algoritmo delta de ajuste de pesos. Finalmente la aplican a un robot planar de dos grados de libertad. Logrando con esto una mayor rapidez en la convergencia del aprendizaje.

    También se ha demostrado la estabilidad de este tipo de control, como es el caso de Kazuo Tanaka [TANAKA1996] que discute la estabilidad de un sistema de control basado en una red neuronal usando aproximación Lyapunov y de Fukuda T. [FUKUDA 1996] quien demuestra la estabilidad del el control basado en redes neuronales. Tanaka argumenta que la dinámica de los sistemas de redes neuronales puede ser representada por una clase de sistemas no lineales tratados como “inclusiones diferenciales lineales”. Al final analiza la estabilidad de un sistema de control con retroalimentación de redes neuronales, el cual consiste de una representación de una planta simulada por una red neuronal y usa otra red neuronal como controlador. 1.3.2 Investigaciones utilizando redes holográficas

    Las redes holograficas se han utilizado para diferentes aplicaciones, a continuación se presentan varios trabajos realizados con redes holográficas.

  • Descripción del problema y propuesta de solución

    5

    Gómez, R. Aguilar y M. [GOMEZ_1995] Alencastre realizaron una comparación de tres técnicas para predecir el nivel de contaminación de la Ciudad de México. Primero aplican el paradigma de redes neuronales multicapa, basado en aprendizaje con retropropagación. Posteriormente utilizaron el paradigma holográfico y finalmente emplearon lógica abductiva, la cual consiste principalmente en realizar razonamiento bajo cierta incertidumbre (falta de información para obtener conclusiones con absoluta certeza). Se utilizaron variables como: velocidad del viento, nivel de lluvia, visibilidad, presión, nubosidad, insolación, temperatura; y como salida se tomó el índice promedio de ozono. Concluyen que el método de la lógica abductiva tiene mejores resultados que las redes neuronales; argumentando como ventaja de la lógica abductiva, que utiliza varias de las aportaciones de los últimos resultados en predicción sobre procesamiento de datos.

    O. A. Mayora Ibarra [MAYORA_1994] presenta un marco teórico de las redes holográficas e incluye una aplicación práctica sobre predicción de niveles de ozono en la Ciudad de México, predicciones que tienen un rango de cero a cuatro horas, comprobando la capacidad del modelo holográfico para realizar predicciones a corto plazo. Sócrates Torres O. [TORRES_1996] realizó un estudio del modelo matemático de la red neuronal holográfica, analizando la eficiencia de la red con respecto a la simetría y preprocesamiento de los datos estímulo, además menciona lo importante de elegir el número adecuado de estadísticos, los cuales son generados por métodos de expansión a sistemas de alto orden a partir de las variables de cada patrón de entrada, el tipo de conversión y el resaltamiento de la información; ya que éstos influyen directamente en el porcentaje de error de entrenamiento y generalización de la red. Sócrates Torres Elabora una metodología para mejorar la eficiencia de la red holográfica en el software HNET1 (Holgraphic NETwork). Comprueba su metodología al aplicar la red holográfica (HNET) en la detección de fallas de una planta nuclear. Finalmente realiza una comparación entre la red holográfica y la red “backpropagation” demostrando que los niveles de error de la red holográfica son menores a los de la red “backpropagation”. 1.4 Propuesta de solución 1.4.1 Objetivo General Implementar una red neuronal holográfica y observar su desempeño en la identificación y el control de un brazo robot. 1.4.2 Objetivos particulares

    • Implementar un simulador dinámico con interfaz gráfica, de un manipulador planar de dos grados de libertad.

    1 www.andcorparotaion.com/performance1.html

  • Descripción del problema y propuesta de solución

    6

    • Realizar una comparación entre la red “backpropagation” y la red holográfica en la identificación de sistemas dinámicos (dinámica de un manipulador).

    • Evaluar el desempeño de la red holográfica en el control de un simulador de un manipulador planar con respecto a una red “backpropagation”.

    1.5 Alcances En este trabajo se construirá un simulador de un robot manipulador, con características, tales como: inercia, gravedad, velocidad de desplazamiento y fricción viscosa despreciando la fricción seca, el modelo se toma de [FU_1990]

    La información para el control del robot manipulador (velocidad de movimiento y posición de las articulaciones) se tomará directamente del simulador.

    1.6 Beneficios y contribuciones

    Evaluar el desempeño de las redes holográficas, en control de un manipulador.

    Comparar la eficiencia de la red holográfica con respecto a la red “backpropagation”, en el control de manipuladores.

    1.7 Plan de exposición

    La presente tesis está organizada como sigue. El capítulo dos sintetiza brevemente el paradigma de las redes neuronales artificiales y detalladamente la red holográfica. El capítulo tres describe el control de manipuladores con redes neuronales artificiales y su justificación para dicho fin. El capítulo cuatro explica brevemente el modelado de sistemas y algunas técnicas para la implementación de simuladores, y se describe la simulación realizada en este trabajo. En el capítulo cinco se explica el control propuesto en esta tesis y cómo se aplica utilizando la red holográfica. Y por último, en el capítulo seis se exponen las conclusiones obtenidas en este trabajo. En el anexo A se muestran los resultados para seleccionar el método numérico para la simulación del robot, y en el anexo B se muestran las pruebas de capacidad de generalización de la red holográfica con respecto a la red “backpropagation”.

  • Redes neuronales artificiales

    7

    Capítulo 2

    Redes neuronales artificiales

    2.1 Introducción a las redes neuronales artificiales Ha renacido un paradigma de la inteligencia artificial que se basa en la imitación del sistema nervioso del cerebro humano. A este paradigma, que data de los 50´s, se le ha llamado “Redes neuronales artificiales”.

    Actualmente el área de las redes neuronales ha incrementado su popularidad, así se encontran varias referencias a las redes neuronales en una gran cantidad de trabajos de investigación en disciplinas como: ciencias computacionales, neurofisiología, robótica, control automático, comunicaciones, física, matemáticas, psicología y muchos otros campos donde aplicaciones nuevas están siendo encontradas e investigadas. 2.1.1 Neuronas Biológicas La teoría de las redes neuronales artificiales está inspirada en el sistema nervioso biológico, donde las neuronas biológicas son los elementos fundamentales. Una neurona biológica consiste en un núcleo de célula, un axón y muchas dendritas, como se observa en la figura 2.1:

  • Redes neuronales artificiales

    8

    Figura 2.1

    Neurona Biológica Donde: El axón es la rama principal que transporta la salida de la neurona hasta las conexiones de otras neuronas. Las dendritas son pequeñas ramas que proporcionan área superficial en abundancia, para facilitar las conexiones con los axones de otras neuronas Estas células se diferencian de las otras por su capacidad de comunicarse, es decir, las dendritas y el cuerpo celular reciben señales de entrada de otras neuronas, el cuerpo las combina e integra y emite señales de salida a través del axón, que a su vez se encarga de transmitir la información a otras neuronas [HILERA_1995]. Normalmente una neurona, recibe información de cientos de miles de neuronas y manda información electroquímica a miles de neuronas más. Las señales que utilizan las neuronas son de dos tipos distintos: eléctrica y química. La señal de salida es eléctrica, mientras la señal que se transmite entre los límites axónicos de una neurona y las dendritas de las neuronas siguientes es de origen químico, concretamente se realiza mediante moléculas de sustancias transmisoras (neurotransmisores) que fluyen a través de unos contactos especiales conocidos como Sinapsis (espacios aproximados de 50 a 200 Angstroms). Cabe hacer notar que en el cerebro humano cada neurona tiene un promedio de 105 sinapsis y que el cerebro tiene aproximadamente 1016 conexiones [HILERA_1995].

    El funcionamiento de una neurona principalmente se basa en la diferencia que hay

    en las concentraciones de iones de sodio y potasio. Esta diferencia de potencial a cada lado de la membrana de la neurona produce un potencial, de aproximadamente 70 milivolts negativos en el interior de la célula, lo cual es llamado potencial en reposo. La llegada de señales provenientes de otras neuronas a través de las dendritas actúa acumulativamente bajando el potencial en reposo, de manera que, cuando pasa de cierto umbral, comienza una entrada masiva de iones de sodio que invierten la polaridad de la célula, esta inversión de voltaje es conocida como potencial de acción y se propaga a lo largo del axón.

    Se hace notar que existen dos tipos de sinapsis: sinapsis excitadoras las cuales

    provocan disminuciones de potencial en la membrana de la célula y sinapsis inhibidoras que tienden a estabilizar el potencial de la membrana.

  • Redes neuronales artificiales

    9

    2.2 Redes neuronales artificiales Los modelos de redes neuronales artificiales intentan reproducir el comportamiento del cerebro (ver figura 2.2), es decir, cada neurona está caracterizada por entradas de activación yj, que son modificadas por un peso wj (la “sinapsis” en el caso biológico), las señales moduladas se combinan entre ellas y entran a una función de activación que determina la salida S con base en una comparación de la suma con el valor de activación θ.

    Figura 2.2

    Como se puede notar, las neuronas artificiales son simples unidades procesadoras, que pueden recibir muchas entradas de otras neuronas y luego procesar una salida, igual que las neuronas biológicas, la forma en que se conecten las neuronas depende de la arquitectura de red neuronal que se quiera utilizar. Con base en lo anterior podemos definir a una red neuronal artificial de la siguiente forma:

    Una red Neuronal Artificial es un modelo matemático compuesto por elementos interconectados entre sí, que se inspira en el sistema nervioso biológico.

    2.3 Red Holográfica 2.3.1 Introducción Un paradigma de redes neuronales es el modelo holográfico [SUTHERLAND_1992], donde el término “Tecnología neuronal holográfica” ha sido asignado a este nuevo paradigma de la inteligencia artificial, debido a algunas analogías que este tipo de proceso neural tiene con las matemáticas encontradas en el campo de la teoría electromagnética, principalmente en la holografía óptica. La siguiente descripción de la red holográfica es tomada de [SUTHERLAND_1992] y en ésta se expone el modelo matemático de la red en su fase de entrenamiento y su fase de reconocimiento.

  • Redes neuronales artificiales

    10

    El modelo holográfico se basa en un concepto donde la información se presenta como un vector ubicado en el plano complejo y cada neurona opera como una transformada determinística, a través de un mapeo de conjuntos de estímulos analógicos de entrada hacia una respuesta analógica de salida. Además, el proceso neuronal holográfico tiene la capacidad de almacenar gran cantidad de información, ya que permite superponer gran cantidad de asociaciones estímulo-respuesta, de tal manera que las asociaciones estímulo-respuesta sean mapeadas directamente dentro de una matriz de correlación formada por números complejos. Además, sí se introduce como entrada un patrón de estímulo que se encuentre dentro del contexto de los aprendidos, pero que no pertenezca al conjunto inicial de entrenamiento, la red regenera la respuesta asociada a un patrón de estímulo previamente aprendido teniendo una gran capacidad de generalización [SUTHERLAND_1992]. 2.3.2 Arquitectura de la red holográfica

    La arquitectura del modelo holográfico se encuentra conformado por las siguientes

    cinco celdas:

    CeldaBuffer

    CeldaBuffer

    Celda Stat Celda Cortex

    Celda Buffer O.

    Estímulos

    Respuesta

    Deseada

    Salida

    Entrada

    Figura 2.3

    Configuración básica del paradigma holográfico.

    Donde el funcionamiento de cada celda es la siguiente: Celda “Buffer” : Es la fuente de entrada, convirtiendo los valores reales de entrada en valores complejos con los cuales trabaja el sistema holográfico. Celda “Stat”: Lee los valores complejos de entrada y los expande, con la finalidad de disminuir el error de la respuesta asociada. Celda “Cortex”: Genera la matriz de correlación con base en la relación existente entre el estímulo complejo de ent rada y la salida compleja deseada. Celda Buffer O: Convierte los valores de salida complejos en valores en el dominio de los reales.

  • Redes neuronales artificiales

    11

    2.3.3 Parámetros de la red holográfica

    El paradigma holográfico es de aprendizaje supervisado, por lo que al entrenarla se necesitan varios patrones de entrada (vectores de números reales), y sus correspondientes respuestas (vectores de números reales), teniendo así por cada patrón un campo de estímulo [S] y un campo de respuesta [R], que son representados por arreglos de números reales:

    [S]={s1,s2,s3,…,sn} (2.1)

    [R]={r1,r2,r3,…,rm} (2.2)

    Los patrones de entrada y las respuestas asociadas, están representadas en el mundo de los reales, la celda buffer de entrada, convierte los valores estímulo en el conjunto de los reales al dominio de los números complejos, a través de una transformación lineal o sigmoidal centrada alrededor de un valor medio µ (de los diferentes patrones), como se ilustra en las figuras 2.4 y 2.5.

    Figura 2.4

    Normalización lineal

    Figura 2.5

    Normalización sigmoidal

    En el eje horizontal se encuentra el dominio de los números reales y las fases que se asignan en el eje vertical en un rango de 0 de 2π.

  • Redes neuronales artificiales

    12

    De esta manera los elementos de información son números complejos, teniendo magnitud (valor de 0 á 1) y fase (en radianes de 0 a 2π), como se muestra en la figura 2.6.

    Figura 2.6

    Valor de la información en red holográfica consistente de magnitud y fase.

    Las transformaciones anteriores, lleva a los campos [S] y [R] a convertirse en:

    [S]={λ1eiθ1,λ2eiθ2,λ3eiθ3,…,λNeiθΝ} (2.3)

    [R]={γ1eiφ1,γ2eiφ2,γ3eiφ3,…,γMeiφM} (2.4)

    Donde:

    λi = Nivel de ponderación de los elementos del campo estímulo.

    θi = Información semántica de los elementos del campo estímulo.

    γi = Nivel de ponderación de los elementos del campo de respuesta.

    φi = Información semántica de los elementos del campo de respuesta.

    Se puede observar que a cada fase se le asigna un nivel de ponderación, representado en la magnitud del vector complejo. La asignación del valor de ponderación puede ser dado por el usuario de acuerdo a su conveniencia, pero lo más recomendado es determinar el va lor unitario. Se hace notar que el nivel de ponderación asigna el peso de cada componente de información con respecto a los demás.

  • Redes neuronales artificiales

    13

    2.3.4 Aprendizaje

    El proceso de aprendizaje tiene características operacionales semejantes al método holográfico al superponer una serie de asociaciones de estímulos-respuesta en una matriz de correlación [X], compuesta de números complejos, donde el proceso de codificación se ejecuta en un nivel fundamental como el producto de vectores complejos. Evaluando un elemento de la matriz de correlación con un elemento de estímulo k y un elemento de respuesta j y calculando el producto y suma se tiene:

    xk,j = Σ sk ⋅ rj (2.5)

    Donde:

    s es el conjugado de s

    sk y rj son complejos y se representan como:

    rj = γjeiφj (2.6)

    Sk = λkeiθk (2.7)

    Escribiendo a (2.6) en forma compleja:

    Xk,j = t

    T

    ∑ λkγjei(φj-θk) (2.8)

    Teniendo un conjunto de patrones de estímulos (T estímulos con m elementos) y respuestas (T respuestas con p elementos), Obteniendo un vector de patrones y de respuestas, que a su vez son otro vector de valores complejos, generando así una matriz de elementos complejos.

  • Redes neuronales artificiales

    14

    St1 λ1,t1eiθ1t1 λ2,t1ei

    θ2t1 . . . λm,t1eiθmt1

    St2 λ1,t2eiθ1t2 λ2,t2ei

    θ2t2 . . . λm,t2eiθmt2

    [S] = . . . . (2.9)

    . . . .

    StT λ1,tTeiθ1tT λ2,tTei

    θ2tT . . . λm,tTeiθmtT

    Rt1 γ1,t1eiφ1t1 γ2,t1ei

    φ2t1 . . . γp,t1eiφpt1

    Rt2 γ1,t2eiφ1t2 γ2,t2ei

    φ2t2 . . . γp,t2eiφpt2

    [R] = . . . . (2.10)

    . . . .

    RtT γ1,tTeiφ1tT γ2,tTei

    φ2tT . . . γp,tTeiφptT

    El proceso de codificación para múltiples patrones puede ser representado en su forma canónica por la siguiente ecuación:

    [X] =t

    T

    ∑ [S]-T[R] (2.11)

    Donde: T = Número de estímulos de entrenamiento

    -T significa la traspuesta de [S] con sus elementos conjugados

    Utilizando el conjugado de si, con la finalidad de obtener una diferencia de fases y la transpuesta de [S] para lograr la multiplicación, a nivel de elementos de [X] [SUTHERLAND_1992].

    A partir de la ecuación (2.11) teniendo una sola variable en el vector de respuesta (mútiple entrada simple salida), se obtiene una matriz de correlación de la siguiente manera:

  • Redes neuronales artificiales

    15

    ∑T

    tλ1,t γt e

    i(φt-θ1t)

    [X] = ∑T

    tλ2,t γt e

    i(φt-θ2t) (2.12)

    . .

    . .

    ∑T

    tλm,t γt e

    i(φt-θmt)

    Donde cada elemento de la matriz de correlación, guarda todas las asociaciones entre cada elemento de los estímulos y las respuestas deseadas.

    Este proceso de aprendizaje lleva inherentemente a un principio de no interferencia, en el sentido de que los pares estímulo respuesta aprendidos, no son influenciados por mapeos de aprendizaje posteriores como sucede en otros modelos neuronales. Es por eso que otras redes neuronales, basadas en técnicas de gradiente descendente al presentar mayor número de restricciones en el aprendizaje, llegan a producir una degradación en su desempeño [MAYORA_1994].

    2.3.5 Decodificación.

    El proceso de reconocimiento se encarga de tomar un estímulo de entrada (patrón de entrada [S]*), y mediante la matriz de correlación [X], genera la respuesta asociada [R]*, teniendo este desarrollo la siguiente representación [SUTHERLAND 1992]:

    [R]* = 1C

    [S]* [X] (2.13)

    Donde: C es un coeficiente de normalización y esta dado por:

    C = ∑=

    m

    k 1

    λ*k (2.14)

    El campo de estímulo experimental [S]* se proporciona a la red para obtener una

    respuesta, representado de la siguiente manera:

  • Redes neuronales artificiales

    16

    [S]*={λ∗1eiθ∗1,λ∗2e

    iθ∗2,λ∗3eiθ∗3,…,λ∗me

    iθ∗m} (2.15)

    Cada término de respuesta generado por (2.13) puede ser desarrollado a partir de sus partes constitutivas, y cada parte es un vector complejo generado por una transformación de un estímulo [S] a través de la matriz de correlación [X]. Representando una expansión en su forma exponencial compleja, para cada elemento de [R] se obtiene:

    r = ∑m

    kc1 λ*ke

    iθ*k t

    T

    ∑ λk,t γtei(φt-θk,t) (2.16) Ésta puede ser escrita de la siguiente forma:

    r = 1ct

    T

    ∑ γteiφt ∑m

    k

    λ∗k λk,tei(θ∗k-θk,t) (2.17)

    Además, reescribiendo (2.17), en forma más compacta:

    r = 1c {Λ1eiφ∗1,Λ2e

    iφ∗2,Λ3eiφ∗3,…,ΛTe

    iφ∗Τ} (2.18) Donde: Λt es el nivel de ponderación de la respuesta, y

    eiφ*t es la fase de cada una de las respuestas. Un elemento de (2.18) puede escribirse de la siguiente manera:

    Λteiφ*t = γte

    iφt ∑m

    k

    λ*kλk,tei(θ*k-θk,t) (2.19)

    Una vez teniendo, la magnitud y la fase de cada componente de [R], cada

    término puede ser evaluado determinísticamente por las siguientes ecuaciones: 2 2 1/2

    Λt =γ . TC ∑

    m

    k

    λ*kλk,t cos(θ*

    k-θk,t) + ∑m

    k

    λ*kλk,t sen(θ*

    k-θk,t) (2.20)

  • Redes neuronales artificiales

    17

    ∑m

    k

    λ*kλk,t sen(θ*

    k - θk,t + φt)

    φ*t = tan-1 (2.21)

    ∑m

    k

    λ*kλk,t cos(θ*

    k - θk,t + φt)

    Recordando que se debe ajustar a φ*t a su cuadrante correcto. Cada componente de (2.18), contiene una magnitud o nivel de ponderación proporcional al grado del cual el patrón de estímulo se acerque o falle, a un patrón memorizado en la matriz de correlación. Ilustrando esto gráficamente se puede decir que aquellos patrones que muestren la similitud más grande con el nuevo patrón estimulo, producen los elementos vectoriales más dominantes. En la figura 2.7 se muestra la suma de los elementos del vector de respuesta.

    Figura 2.7

    Suma vectorial representativa de una respuesta.

    Finalmente, se procede a pasar del dominio de los complejos al dominio de los reales la respuesta generada, a través de una función inversa a la sigmoide (si es el caso), con la siguiente relación:

    R* = µ − σ ln 2πφ*

    - 1 (2.22)

    2.3.6 Error de la red holográfica Para encontrar el error se supone un error aleatorio εε r , el cual da la diferencia que existe entre el patrón desconocido [S]* y el patrón de estímulo codificado en el tiempo T, teniendo la siguiente relación:

  • Redes neuronales artificiales

    18

    eiθ*k = ei(θk,t + εr) k= 1,2,3... (2.23) Cuando los elementos de [S]* tienen mucha similitud con el patrón de estímulo codificado en el tiempo T, el error εr tiende a cero.

    εr → 0.0 (2.24) Para cada elemento. Substituyendo a (2.23) en (2.14) y (2.20), suponiendo que (2.24) es verdadera, se

    encuentra que:

    γt∑m

    k

    λ*k λk,T

    ΛΤ → (2.25)

    ∑m

    k

    λ*k

    Además, sí tenemos que λk = λk,T = γT = 1 para toda k se tiene: ΛT → 1.0 (2.26) Similarmente, la orientación de la fase tiene una reducción de εr tal que: φ*T → φT (2.27) Pero la anterior expresión únicamente ayuda a calcular la magnitud y fase de la

    respuesta cuando el estímulo desconocido es similar al estímulo codificado en el tiempo T. Recordando la figura 2.6, también se generan respuestas no dominantes con error dentro de la respuesta generada. La varianza estadística en la magnitud para este término de error es proporcional al número total de estímulos-respuesta diferentes dentro de la matriz de correlación. Es este error el que establece el límite a la capacidad de encapsular un número de asociaciones distintas que pueden ser exactamente mapeadas dentro de una neurona. Se puede probar una mayor densidad de patrones para cualquier sistema de coordenadas

    ortogonales multimensionales, es por lo tanto, P el promedio de la magnitud de una suma de P caminos aleatorios. Restituyendo la expresión en (2.20), se puede evaluar y estimar para el error promedio dentro de la respuesta, aproximando se consigue:

    rt ≅ T = 1C t T

    P

    ≠∑ Λt eiφ*t ≅ PN (2.28)

    Para: γt, λk,t ≅ 1

  • Redes neuronales artificiales

    19

    Para propósitos de estimación de características operacionales de una celda en particular, se deriva el error promedio de la relación (2.28) impuesta por condiciones de simetría, aclarando que éste estimado asume patrones generados aleatoriamente, entonces el error dado por la dimensión de la celda (N) y el número de patrones codificados (P) puede ser aproximadamente:

    φerror = 1

    8πtan-1

    PN

    (2.29)

    2.3.7 Reducción del error

    2.3.7.1 Expansión de los elementos del estímulo (generación de estadísticos) Como se puede notar en la ecuación (2.12), el número de componentes de los estímulos es directamente proporcional al número de líneas de la matriz de correlación, y a su vez el número de líneas de la matriz de correlación influye directamente en el error en la capacidad de reconocimiento de la red neuronal holográfica como se observa en la ecuación (2.29), algo parecido a la capacidad de un polinomio para poder representar funciones con n raíces con respecto al grado del polinomio. Por este motivo es necesario aumentar la cantidad de elementos de los estímulos sin aumentar las variables de los mismos, en otras palabras en el proceso holográfico las limitaciones en el mapeo pueden ser superados a través de una expansión de la información por medio de una generación de términos de alto orden a partir del conjunto de entradas en el estímulo [S]. Así obteniendo la matriz hermitiana del conjunto de entradas [S], se genera un conjunto completo de términos de segundo orden también llamados estadísticos, esta matriz hermitania puede ser obtenida por el siguiente producto:

    [H] = [S]-T [S] La matriz se genera de la siguiente forma: 1 λ1λ2 ei(θ2-θ1) · ·

    H = λ1λ2 ei(θ2-θ1) 1 · · · · · · · · · · Pero esta matriz es simétrica, por lo tanto existe redundancia en el conjunto de elementos que forman la parte baja de la diagonal principal, con respecto al conjunto que conforman la parte alta de la diagonal, de tal forma que para generar los elementos de segundo orden de nuestro estímulo sólo tomamos uno de esos conjuntos (sin incluir la

  • Redes neuronales artificiales

    20

    diagonal principal). De esta manera el estímulo [NS], tendrá más componentes que el estimulo original [S]. Es decir: [NS] = [S] U [Elementos de segundo orden de S (generados en H)]. Este proceso puede ser generalizado para varios ordenes, por ejemplo para generar un conjunto de valores de tercer orden, se genera una matriz hermitania de [NS] de la siguiente manera:

    [H2] = [NS]-T [NS] Y se toman sólo los valores de una de las partes de la matriz que divide la diagonal

    principal, obteniendo así estadísticos de tercer orden. Repitiendo el proceso hasta obtener el número de estadísticos deseados.

    2.3.7.2 Resaltamiento de la información En el proceso de codificación básico pueden existir operaciones no óptimas debido a que existen estímulos muy parecidos pero con respuestas muy diferentes, causando distorsión en la matriz de correlación. El resaltamiento de la información puede ser usado para tener un mapeo efectivo entre los estímulos de entrada y el conjunto de respuestas deseadas, y este proceso puede ser subdividido en tres etapas de operación: 1.- Se decodifica un estimulo a través de la neurona de correlación (celda cortex),

    obteniendo una respuesta parcial R’.

    R’ = 1C

    [S] · [X]

    2.- Se obtiene un vector de diferencias Rd entre la respuesta obtenida R’ y la respuesta

    deseada R. Rd = R - R’ 3.- La matriz de correlación es actualizada a partir del estímulo [S] y Rd. [X] = [S]-T Rd Este proceso permite reducir el error de respuesta cuando hay distorsión en la matriz de correlación, y se puede repetir tantas veces como sea necesario. Haciendo una comparación con otras redes neuronales, cada vez que se realiza este proceso de ajuste se puede considerar que se ejecuta una época. Nota.- Normalmente después de cuatro épocas la reducción del error es despreciable (como se demuestra en el capítulo 5).

  • Redes neuronales artificiales

    21

    2.8 Comentario La red neuronal holográfica tiene un excelente desempeño cuando los estímulos de entrada tienen un gran número de elementos (Apéndice B), debido a esto, cuando hay pocos valores (menos de diez) en los estímulos de entrada se tienen que expandir usando estadísticos, pero esto genera un problema, por que cuando se realiza una expansión muy grande (estadísticos mayores al tercer orden) la red tiende a memorizar y su eficacia al generalizar es muy pobre [TORRES_1996], además de que consume más memoria reduciendo su eficiencia.

  • Control con redes neuronales artificiales

    22

    Capítulo 3

    Control con redes neuronales artificiales

    3.1 Introducción El diseño de sistemas de control para modificar el desempeño de sistemas dinámicos ha llevado a conseguir conductas dinámicas deseadas en sistemas lineales. Técnicas de control clásico han sido usadas con sistemas donde se tiene un completo conocimiento del proceso a ser controlado, así como de su medio ambiente; además de que existe una teoría sólida básica para estudios de observabilidad, controlabilidad y propiedades de estabilidad de los sistemas para el diseño del controlador. Similarmente, durante las últimas décadas resultados importantes han sido conseguidos en identificación y control adaptivo de sistemas parcialmente desconocidos o variantes en el tiempo. Particularmente para sistemas lineales con estructuras invariantes y parámetros desconocidos, de los cuales es posible establecer leyes de control adaptivo, asegurando la estabilidad general del sistema a controlar. Este no es el caso de los sistemas no lineales y otros sistemas complejos, ya que estos principios o técnicas no son aplicables para estos sistemas. El estudio de su control y estabilidad deben ser estudiados caso por caso. Por lo tanto, el diseño de leyes de control adaptivo derivadas de sistemas lineales no puede ser extendido a casos de sistemas no lineales. Las redes neuronales artificiales es una alternativa para la identificación y el control de sistemas no lineales1 que proporciona una buena representación del mapeo complejo entre entradas y salidas de sistemas dinámicos, teniendo la capacidad de aproximar clases amplias de funciones no lineales [NARENDRA_1990] [LEWIS_1999] [FUKUDA_1996].

    1 Entre otras herramientas que hay en la inteligencia artificial como computación evolutiva, algoritmos genéticos, lógica difusa, etc.

  • Control con redes neuronales artificiales

    23

    Una de las principales características de las redes neuronales es su adaptabilidad a los cambios del medio ambiente, lo cual permite emular sistemas variantes en el tiempo de plantas no lineales y la implementación de controles. Las redes neuronales artificiales exhiben un gran potencial en términos de su robustez con respecto a ruido y tolerancia a fallas con respecto a anomalías locales de neuronas [CEMBRANO_1992].

    La habilidad de una red neuronal para aproximar grandes clases de funciones no lineales con suficiente precisión, las hace las primeras candidatas para usarse en la representación de modelos dinámicos de plantas no lineales 3.2 Identificación

    Narendra propone cuatro modelos de plantas discretizadas en el tiempo. Los cuatros modelos se presentan en las figuras 3.1, 3.2, 3.3 y 3.4 respectivamente, las funciones f :Rn->R en los modelos II y III y f :Rn+m->R en el modelo IV, y g:Rm->R se asumen que son funciones diferenciables de sus argumentos [NARENDRA_1990].

    u(k)

    -1x

    -1x

    -1z

    -1z

    g(.)

    yp(k+1) yp(k)

    x2(k)

    x1(k)

    xn(k)

    Σ - 1z

    Xn+m-1(k)

    Xn-2(k)

    Xn+1(k)

    xn-1(k)

    Figura 3.1 Modelo I

    de plantas discretizadas en el tiempo

  • Control con redes neuronales artificiales

    24

    u(k)

    -1x

    -1x

    -1z

    -1z

    f(.)

    yp(k+1) yp(k)

    xn-1(k)

    x2(k)

    x1(k)

    xn(k)

    Σ -1z

    Xn+m-1(k)

    Xn-2(k)

    Xn+1(k)

    Figura 3.2 Modelo II

    de plantas discretizadas en el tiempo

    u(k)

    -1x

    -1x

    -1z

    -1z

    g(.) f(.)

    yp(k+1) yp(k)

    xn-1(k)

    x2(k)

    x1(k)

    xn(k)

    Σ -1z

    Xn+m-1(k)

    Xn-2(k)

    Xn+1(k)

    Figura 3.3 Modelo III

  • Control con redes neuronales artificiales

    25

    Xn-1(k)

    X2(k )

    X1(k)

    Xn+m-1(k)

    Xn+2(k)

    Xn+1(k)

    u(k)

    Xn(k )

    - 1z

    - 1z

    - 1z

    - 1z

    - 1z

    f( . )yp(k)

    yp(k+1)

    Figura 3.4 Modelo IV

    de plantas discretizadas en el tiempo

    donde: [u(k),yp(k)] representa los pares de entrada y salida de la planta SISO en el tiempo k, y m

  • Control con redes neuronales artificiales

    26

    En este trabajo se adopta el modelo IV, debido a que es el más general puesto que incluye a los otros tres modelos. 3.3 Identificación de sistemas dinámicos usando redes neuronales artificiales El problema de identificación consiste en definir una estructura para el modelo a controlar, ajustar los parámetros de dicha estructura de tal manera que genere una salida igual a la de la planta. Entonces el procedimiento de identificación consiste en ajustar los parámetros de una red neuronal basada en el error entre la salida de la planta y la salida de la red neuronal, como se observa en la figura 3.5.

    Planta

    Red Neuronal

    Σu(k)

    yp'(k)

    e(k)

    _

    +

    Procedimientode aprendizaje

    yp(k)

    Figura 3.5

    Entrenamiento de una red neuronal Una forma sencilla de implementar este tipo de modelo con redes neuronales, es incluir retardos de las entradas y las salidas (para no perder la dependencia de la salida yp(k+1) de los valores de yp(k- i) y u(k-j) ), como entradas para la retroalimentación de la red, la cual producirá la salida del proceso en su capa de salida. Las no linealidades entre el mapeo de las entradas y salidas de la red neuronal pueden ser manipuladas eficientemente por una o mas capas ocultas (en el caso de un red “backpropagation”). La figura 3.6 muestra una representación de un modelo SISO con una red multicapa.

  • Control con redes neuronales artificiales

    27

    Figura 3.6 Red neuronal múlticapa

    La identificación de una planta correspondiente al modelo IV con MISO (múltiples entradas una salida) se haría como se observa en la figura 3.7:

    Entrada U(k) Salida Y(k)

    RetardosRetardos

    RedNeuronalArtificial

    SistemaDinámico

    e

    Σ

    Y'(k)

    Figura 3.7

    Identificación de plantas no lineales usando redes neuronales Donde los valores de salidas y entradas son retardados. De este modo, los valores pasados de la salida y de las entradas de la planta forman el vector de entrada a la red neuronal y yp’(k) corresponde a la salida estimada de la planta en el instante k.

  • Control con redes neuronales artificiales

    28

    3.4 Control con redes neuronales artificiales Una vez identificada la planta (figura 3.7), se puede tener varias formas de realizar el control con redes neuronales artificiales (modelos conexionistas), el más sencillo es colocar la red neuronal como un modelo inverso, donde se supone que la red neuronal artificial (RNA) es exactamente el modelo inverso de la planta, de tal forma que se tiene como entrada la referencia o salida deseada a la RNA y esta generará la entrada u a la planta para que tenga el desempeño deseado.

    Figura 3.8

    Control en lazo abierto con la RNA como inverso de la planta. Obviamente esta estructura no asegura un error cero y que sea estable, debido a que no existe retroalimentación. Se puede agregar una retroalimentación para lograr un lazo cerrado sí se pone en paralelo con un control convencional como el control PI. La estructura se muestra en la figura 3.9.

    Figura 3.9

    Control con modelo neuronal como inverso de la planta y control PI en paralelo Otra forma de lograr retroalimentación es colocando un control convencional en serie a la RNA, como se muestra en la siguiente figura:

    Planta

    ypRed Neuronal Artificial yp'

    u

    Referencia salida

    ys

    PlantaRed

    Neuronal Artificial sal ida

    y puyp'Referencia

    y s

    error PI

    +

    -

    +

    +

  • Control con redes neuronales artificiales

    29

    Figura 3.10

    Control con modelo neuronal como inverso de la planta y control PI en serie La posibilidad de obtener error de casi cero en un estado estable hace preferible implementar algunas de las estructuras con retroalimentación y un control convencional, a lo cual se le llama estructura híbrida con RNA. En este tipo de esquemas la RNA compensa la no linealidad de las plantas y el control convencional controla la planta como un sistema lineal. En otras palabras si el inverso de la planta no es perfecto, el controlador lineal reduce la sensibilidad del sistema contra este tipo de error y asegura un estado estable con error cero [PARRA 1996]. En los últimos años se han implementado controles mucho más complejos, con sistemas adaptivos como los presentados por [CEMBRANO_1992] y estructuras híbridas con modelos internos [LEWIS_1996], que han logrado resultados bastante buenos, como los logrados en [ANANTHRAMAN_1993], que muestran su estabilidad en trabajos como los de Lewis y Tanaka [LEWIS_1996] y [TANAKA_1996]. 3.5 Comentario

    En este trabajo se eligió el modelo con un control PI en paralelo (figura 3.9), debido a que el modelo en serie (figura 3.10) puede ser desventajoso para sistemas no lineales [PARRA_1996]. Además, se tomó como referencia trayectorias trapezoidales.

    También se utilizaron las derivadas de las salidas (velocidad) y las dobles derivadas

    (aceleración) para identificar la dinámica del manipulador, en lugar de utilizar retardos, que contienen la misma información, como se muestra en [RUIZ_1987].

    PlantaRed

    Neuronal Artificial

    yp

    salidayp'

    ueys +

    -PI

  • Simulación del manipulador

    30

    Capítulo 4

    Simulación del manipulador

    4.1 Introducción a la simulación La simulación es actualmente una herramienta muy importante y útil para el análisis, diseño y operación de los procesos complejos y de sus sistemas de control. La palabra simulación es muy difícil de definir debido a su amplio uso, Shannon propone la siguiente definición: “Simulación es el proceso de diseñar un modelo de un sistema real y realizar experimentos con el comportamiento del sistema o evaluar varias estrategias para la operación del sistema” [SHANNON_1988] En esta definición se puede observar que el proceso de la simulación incluye la construcción de un modelo, así como su uso experimental para entender el problema.

  • Simulación del manipulador

    31

    4.2 Modelado del manipulador Para la simulación del manipulador se usó el modelo dinámico de la siguiente ecuación [FU_1990].

    .. t1

    1/3 m1 l2 + 4/3 m2 l

    2 + m2 C2 l2 1/3 m2 l

    2 + ½ m2 l2 C2 θ1

    = .. t2

    1/3 m2 l2 + ½ m2 l

    2 C2 1/3 m2 l

    2 θ2 . . . -½ m2 S2 l2 θ 22 - m2 S2l

    2 θ1 θ2 ½ m1 g l C1 + ½ m2 g l C12 + m2 g l C1 + . + ½ m2 S2 l

    2 θ12 ½ m2 g l C12

    (4.1) Ecuaciones de la dinámica de un manipulador de dos eslabones.

    Donde: m1 : Masa del primer eslabón m2 : Masa del segundo eslabón l : Longitud de los eslabones Ci : Coseno de θi Si : Seno de θi

    Además, se considera que: 1) El sistema tiene dos grados de libertad articulados (θ1 y θ2) 2) Los eslabones son rígidos y de la misma longitud (l1 = l2) El modelo anterior es muy laborioso de simular eficientemente por métodos numéricos, debido a que es altamente no lineal, y además, para lograr entrenar la red neuronal artificial se necesitan pares de fuerza como entrada al sistema y no como salidas. Para la simulación de cualquier planta se requieren condiciones iniciales, por lo tanto, se plantea lo siguiente:

    Resumiendo la ecuación (4.1) tenemos: τ = M(θ)è&& +V(θ,è& )+G(θ) (4.2) Donde : M(θ)è&& = Es la matriz de la simétrica inercial relacionada con la aceleración de sus elementos.

  • Simulación del manipulador

    32

    V(θ,è& ) = Es el vector de fuerza centrífuga y de Coriolis no lineal. G(θ) = Es el vector de la fuerza de la carga gravitatoria τ = Par de fuerzas Como se requieren condiciones iniciales de movimiento se tiene:

    θ0 =

    0,2

    0,1

    θθ

    (4.3)

    =

    0,2

    0,1

    0 θθ

    θ&&

    &&&& (4.4)

    Sustituyendo en (4.2) tenemos:

    M(θ)è&& t+V(θ,è& )t+G(θ)t=τ(t) (4.5) Así que se plantea la siguiente metodología para la simulación del modelo deseado. 4.2.1 Metodología para la simulación de un manipulador de dos grados de libertad Se desea simular el movimiento del brazo para obtener la posición, velocidad y aceleraciones en respuesta a pares de fuerzas aplicadas.

    Para un modelo determinado, la masas y longitudes de los eslabones (m1,m2 y l) son constantes, además, debido a que se está utilizando un método numérico donde se discretiza el tiempo, se puede suponer que en un ∆t determinado, los valores de d2θ1/dt2, d2θ2/dt2, dθ1/dt, dθ1/dt, θ1 y θ2, son constantes. Los pares t1 y t2 pueden ser las entradas, que en un tiempo t determinado tienen un valor constante. Entonces escribiendo el anterior sistema (4.1) de ecuaciones como:

    +

    +

    =

    H

    G

    L

    K

    ED

    BA

    t

    t

    2

    1

    2

    1

    θθ&&

    && (4.6)

    Donde : A=1/3 m1 l

    2 + 4/3 m2 l2 + m2 C2 l

    2 (4.7) B=1/3 m2 l

    2 + ½ m2 l2 C2 (4.8)

    D=1/3 m2 l

    2 + ½ m2 l2 C2 (4.9)

    E=1/3 m2 l

    2 (4.10) K=-½ m2 S2 l

    2 q22 - m2 S2 l

    2 1θ& 2θ& (4.11)

  • Simulación del manipulador

    33

    L=½ m2 S2 l

    2 22θ& (4.12) G=½ m1 g l C1 + ½ m2 g l C12 + m2 g l C1 (4.13) H=½ m2 g l C12 (4.14) y a partir de (4.6) : t1= A 1θ&& + B 2θ&& + K + G (4.15) t2= D 1θ&& θ1 + E 2θ&& + L + H (4.16) de (4.15) y (4.16) obteniendo: t1-K-G = A 1θ&& + B 2θ&& (4.17) t2 - L - H = D 1θ&& θ1 + E 2θ&& (4.18) Suponiendo: I = t1-K-G (4.19) J = t2-L-H (4.20) X = 1θ&& (4.21) Y = 2θ&& (4.22) Se tiene: I = A X + B Y (4.23) J = D X + E Y (4.24)

    Resolviendo el sistema, por el método de eliminación de Gauss :

    X = BDAEBJEI

    −−

    (4.25) Y = DBAEDIAJ

    −−

    (4.26)

  • Simulación del manipulador

    34

    Sustituyendo a (4.19), (4.20), (4.21) y (4.22) en (4.25) y (4.26) se obtiene lo

    siguiente:

    1θ&& = BDAEH)-L-(t B G)-K-E(t 21

    − (4.27)

    2θ&& = BD-AEG)-K-D(t - H)-L-A(t 12

    (4.28)

    Se consigue un sistema de ecuaciones que tiene como salida: el movimiento, la

    velocidad y aceleración, que es lo que se necesita para generar el simulador del modelo del manipulador.

    Este sistema de ecuaciones también se puede resolver usando métodos de integración tales como el método de Newmark [BALTAZAR_1994], o con métodos más simples como Runge-Kutta o Trapecio mejorado [SMITH_1988].

    4.3 Elección del método numérico El método seleccionado fue el método del trapecio modificado (ver apéndice A). 4.4 Control de un eslabón a través de un motor de corriente directa Para probar el método seleccionado, se implementó una simulación más sencilla, como es un motor de corriente directa controlado por corriente de armadura. En el modelo de servomotor de [OGATA_1993] se supone que los bobinados del campo magnético no se conectan al circuito de la armadura, esto causa que el campo sea excitado por separado, el flujo magnético es independiente de la corriente de armadura. Esto permite que este tipo de servomotores sean controlados por la corriente de la armadura. Además, sí se mantiene la corriente de la armadura constante, la velocidad se controla mediante la tensión del campo. Posteriormente, al motor se le agregó un eslabón rígido de 1 metro de longitud con un sistema de transmisión de cien a uno con fricción cero, y se planteó un control de error de posición como se observa en la figura 4.1:

  • Simulación del manipulador

    35

    Figura 4.1

    Error del ángulo objetivo con respecto al ángulo inicial. Donde: α = Posición inicial del eslabón β = Posición final del eslabón (Objetivo) θ = Diferencia entre α y β . (Error) Se elaboró un control simple con base en planteamiento anterior, aplicándole un voltaje al motor, dependiendo de la diferencia de α y β , y la velocidad del eslabón en el instante t, ver figura 4.2: Donde: v: voltaje aplicado al motor τ: Par de fuerza generado por el motor El control realizado se muestra en la figura 4.2:

    EslabónMotor

    CDPΣΣ

    +

    ββ

    ααττvθθ

    _

    Figura 4.2

    Control proporcional para un eslabón

    Se codificó un programa en C++, obteniendo los siguientes resultados, para una diferencia de 3.4 y 3.0 radianes:

  • Simulación del manipulador

    36

    Figura 4.3 Curvas de velocidad del eslabón y voltaje aplicado al motor con respecto al tiempo, para un

    desplazamiento de –1.9 a 1.5 radianes.

    Figura 4.4 Curvas de velocidad del eslabón y voltaje aplicado al motor con respecto al tiempo, para un

    desplazamiento de 1.5 a -1.5 radianes. Después se realizaron siete pruebas más, donde se consiguieron los resultados observados en la tabla 4.1

  • Simulación del manipulador

    37

    Tabla 4.1 Posiciones iniciales y finales en radianes del eslabón

    POSICIÓN INICIAL

    EN RAD POSICIÓN FINAL

    EN RAD ERROR FINAL EN

    RAD 0 1.9 0.000710

    -1.9 1.9 0.000709 1.9 -1.9 0.000709 -1.9 0 0.000708

    0 1 0.000395 1 0 0.000395 0 1.5 0.000685

    Se puede observar que aunque los parámetros de control planteados fueron empíricos, el control tiene un error promedio 0.00061586 radianes. 4.5 Comentario El simulador del manipulador se desarrollo en C++ para windows de 32 bits (específicamente en Borland C++ 5.01 ), adicionando una interfaz gráfica que permite observar los movimientos del manipulador, además, de su velocidad.

    Al método numérico utilizado (trapecio) se le tuvo que adicionar en cada iteración el posible error de truncamiento producido al computar, como se sugiere en [SMITH_1988] debido a que inicialmente era inestable (Apéndice A). Se desarrolló una metodología numérica, con la cual se obtuvo una buena simulación, logrando estabilidad en el movimiento y una buena interfaz gráfica. La simulación del movimiento y su graficación animada en tiempo real, permite ver el comportamiento del manipulador, de tal manera que permite realizar pruebas fácilmente. Se logró la misma estabilidad en la simulación del manipulador que en [BALTAZAR_1994], utilizando un método más sencillo, en lugar de otros más complejos como son los métodos Denavit-Hartenberg o de Newmark.

  • Pruebas de identificación y control con redes neuronales artificiales

    38

    Capítulo 5

    Pruebas de identificación y control con redes

    neuronales artificiales 5.1 Introducción Como ya se ha comentado en el capítulo 3 en las secciones 3.3 y 3.4, las redes neuronales artificiales tienen la capacidad de identificar y controlar sistemas no lineales, las cuales proporcionan una buena representación del mapeo complejo entre entradas y salidas de sistemas dinámicos, teniendo la capacidad de aproximar amplias clases de funciones no lineales, como se puede observar en [HERNÁNDEZ_1997] [HERNÁNDEZ_1997(2)].

    5.2 Identificación de sistemas

    La identificación de un sistema usando una red neuronal artificial consiste en colocar parámetros de entrada del modelo a identificar, de tal manera que el comportamiento del modelo genere una salida igual a la de la planta. Así, el procedimiento de identificación consiste en colocar los parámetros de entrada y salida de una planta a la red neuronal, y realizar un aprendizaje controlado por el error entre la salida de la planta y la red neuronal.

    Dado que un sistema dinámico no sólo depende de los valores de las entradas y salidas actuales, también depende de los estados anteriores como se observó en la sección 3.3, esto obliga a que la red conozca los valores de entradas y salidas de los estados anteriores de la planta para poder predecir el estado siguiente. Una forma sencilla de implementar este tipo de aprendizaje con redes neuronales es incluir retardos de las

  • Pruebas de identificación y control con redes neuronales artificiales

    39

    entradas y las salidas como entradas para la retroalimentación de la red, la cual producirá la salida del proceso en su capa de salida [NARENDRA_1990].

    5.3 Pruebas de identificación de una trayectoria específica con dos paradigmas de redes neuronales

    Para probar la capacidad de identificación de las redes, se tomó como base el manipulador y la trayectoria, usadas por Ananthraman1 en [ANANTHRAMAN_1993] donde sólo utiliza un robot planar de dos grados de libertad sin gravedad y con fricción seca a diferencia de [FU_1990] que si tiene gravedad. Se toma este modelo para poder comparar lo resultados obtenidos por Ananthraman y nuestro modelo bajo las mismas circustancias.

    Ecuaciones de la dinámica del manipulador:

    t1=m2l22 ( 1θ&& + 2θ&& )+m2 l1l2(2 1θ&& + 2θ&& )+(m1+m2)l

    21 1θ&& -m2l1 l2S2

    22θ& -2m2 l2l2S2 21θθ && 1θ2+v1 1θ& +k1sgn( 1θ& )

    (5.1)

    t2= m2 l 22 ( 1θ&& + 2θ&& )+m2l1 l2C2 1θ&& +m2 l1 l2S221θ& +v2 2θ& + k2sgn( 2θ& )

    (5.2)

    Los pares de fuerza a identificar son necesarios para realizar la siguiente trayectoria :

    θθd1=3+6[sin(t)+sin(2t)] (5.3)

    θθd2=2+4[sin(t)+sin(3r)] (5.4) Donde: θd1 es la trayectoria deseada en θ1 Figura 5.1 θd2 es la trayectoria deseada en θ2 Figura 5.2

    θ& y θ&& inicialmente tienen un valor de cero para τ=0.

    1 Esta es una trayectoria muy utilizada en pruebas de manipuladores como se puede ver en [ANANTHRAMAN 1993] [CRAIG 1986] [XU 1993]

  • Pruebas de identificación y control con redes neuronales artificiales

    40

    Figura 5.1

    Trayectoria primer eslabón

    Figura 5.2

    Trayectoria segundo eslabón

    Posteriormente se alimenta la trayectoria a la planta, utilizando como control el modelo inverso de la planta, para generar el par necesario para que se realice la trayectoria, y esta es identificada por la red. En lugar de introducir los estados anteriores de las salidas y entradas de la red, se utiliza los valores de las velocidades y aceleraciones, debido a que contienen la misma información [RUIZ_1987] (estados anteriores). Para el entrenamiento se usó el esquema exhibido en la figura 5.3 y se utilizaron 100 patrones de entrenamiento generados por el modelo inverso de la planta.

  • Pruebas de identificación y control con redes neuronales artificiales

    41

    Plan ta td θ s

    Con t ro l

    .. .

    ττ

    θ θ

    θdττG e n e r a .

    d eTrayec .

    θR e d

    N e u r o n a l

    e

    -+

    Figura 5.3

    Esquema de Identificación 5.3.1 Pruebas de identificación de una trayectoria específica con dos paquetes de redes neuronales

    Se utilizaron dos paquetes de redes neuronales artificiales para identificar el modelo y después como controladores (generadores de pares necesarios). Uno de los paradigmas usado fue el holográfico, utilizando la red holográfica de HNET2, a continuación se despliega la versión utilizada en la figura 5.4:

    Figura 5.4 HneT Discovery System ver 2.1 empleado para la identificación de la planta

    2 www.andcorparotaion.com/performance1.html

  • Pruebas de identificación y control con redes neuronales artificiales

    42

    Y el otro paquete fué “backpropagation” usando a Qnet V97 R 023, mostrado en la figura 5.5.

    Figura 5.5

    Qnet aplicado para identificar la planta

    Al identificar la planta con una red “backpropagation” de tres capas y veinte neuronas ocultas y un entrenamiento de 15,000 épocas se obtuvo el resultado exhibido en la figura 5.6 para el primer eslabón con un error RMS de 0.030454:

    Figura 5.6

    Generación del par para el primer eslabón por la red “backpropagation”

    3http://www.qnetv2k.com/_vti_bin/shtml.exe/qnet2000trial.htm

  • Pruebas de identificación y control con redes neuronales artificiales

    43

    Identificando la planta con una red holográfica con 140 estadísticos y un entrenamiento de 2 épocas se obtuvo el resultado exhibido en la figura 5.7, para el primer eslabón, con un error absoluto promedio de 0.22356 :

    Figura 5.7 Generación del par para el primer eslabón por la red holográfica

    Identificando la planta con una red de tres capas y veinte neuronas en la capa oculta

    y un entrenamiento de 15,000 épocas y un error promedio de 0.020695, se obtuvo el resultado exhibido en la figura 5.8 para el segundo eslabón.

  • Pruebas de identificación y control con redes neuronales artificiales

    44

    Figura 5.8 Generación del par para el segundo eslabón por la red “backpropagation”

    Identificando la planta con una red holográfica con 209 estadísticos y un entrenamiento de 2 épocas con un error mínimo de 0.36335 , se obtuvo el resultado exhibido en la figura 5.9 para el segundo eslabón.

  • Pruebas de identificación y control con redes neuronales artificiales

    45

    Figura 5.9

    Generación del par para el segundo eslabón por la red holográfica Se puede observar que la red holográfica logra una identificación con un error

    absoluto de 0.293455 y la red “backpropagation” con un error cuadrático medio de 0.0255745 promedio de ambos eslabones, pero, aún así, la red aprende los pares de fuerza necesarios para generar desplazamientos y velocidades del manipulador, por lo que el error se puede compensar agregando un control convencional como se comentó en la sección 3.4.

    5.3.2 Pruebas de identificación de una trayectoria específica con dos paradigmas de redes neuronales implementadas en C++

    Posteriormente se implementaron los dos paradigmas de redes neuronales en

    Borland C++ 5.01 para windows 95/98, aprovechando el direccionamiento de 32 bits, lo cual permite utilizar matrices de más de un megabyte, las cuales fueron necesarias para la implementación de la red holográfica.

    El modelo de la red “backpropagatión” utilizado para la identificación del

    manipulador se tomo de [RICH_1994], siendo éste el algoritmo básico de la red “backpropagation”.

  • Pruebas de identificación y control con redes neuronales artificiales

    46

    Para el primer par se utilizó una red “backpropagation” de tres capas con veinte neruonas en la capa oculta y se utilizó un total de 15,538 épocas para converger, obteniendo el resultado exhibido en la figura 5.10.

    Figura 5.10

    Generación del par para el primer eslabón por la red “backpropagation” en C++ En el sistema desarrollado se puede observar que el error RMS y error promedio

    absoluto son 0.002 y 0.01284 respectivamente, y el error RMS es mucho menor que el obtenido en QNET(0.030454).

    El modelo de la red holográfica se tomó de [SUTHERLAN_1992],

    implementándose con dos técnicas de reducción de error de salida: expansión de estadísticos y resaltamiento de la información.

    Para el primer par se utilizó una red de 140 estadísticos y solo 2 épocas, obteniendo

    el resultado expuesto en la figura 5.11:

  • Pruebas de identificación y control con redes neuronales artificiales

    47

    Figura 5.11 Generación del par para el primer eslabón por la red holográfica

    Se puede observar que el error promedio absoluto es de 0.4533 el cual es mayor al

    obtenido por HNET (0.22356). Para el segundo par se utilizaron los mismos programas, obteniendo los siguientes

    resultados: En el caso de la red “backpropagation” se necesitaron un total de 9,233 épocas para

    converger, obteniendo el resultado exhibido en la figura 5.12:

  • Pruebas de identificación y control con redes neuronales artificiales

    48

    Figura 5.12 Generación de par en el segundo eslabón por la red “backpropagation” en C++

    Se puede observar que el error RMS es de 0.00173 el cual es mucho menor al obtenido por QNET (0.020695).

    En la red holográfica se utilizaron 208 estadísticos y 2 épocas, obteniendo el

    resultado exhibido en la figura 5.13:

  • Pruebas de identificación y control con redes neuronales artificiales

    49

    Figura 5.13

    Generación de par en el segundo eslabón por la red holográfica

    Se puede observar que el error promedio absoluto es de 0.8091 el cual es mayor al obtenido por HNET (0.36335).

    Podemos observar que la red holográfica implementada en C++, no tuvo el mismo desempeño que la hecha por HNET, teniendo un error promedio de 0.4533 para el par de fuerza del primer eslabón, mientras que para el segundo eslabón el error fue de 0.8091 y el paquete HNET tuvo errores promedio de 0.22356 y 0.36339, respectivamente. La red holográfica se implementó en base el modelo de [SUTHERLAND_1990], por lo que se concluye que HNET tiene implementado otras características que no están reportadas en [SUTHERLAND_1990]. En el caso de la red “backpropagation” el error obtenido en la red de C++, fue de 0.002 para el par de fuerza del primer eslabón y de 0.00173 para el segundo par, mientras tanto el paquete QNET genera un error de 0.030454 y de 0.020695 respectivamente, dando como resultado que la red implementada en C++, tenga un mejor funcionamiento, comentando que se utilizó un factor de aprendizaje de 0.9 en QNET y en el programa en C++. Nota.- No se entrenó la red holográfica implementada en C++ con más épocas debido a que el mejoramiento logrado es despreciable después de dos épocas y en algunos casos empeora como se puede observar en la figura 5.14, donde se utiliza la identificación

  • Pruebas de identificación y control con redes neuronales artificiales

    50

    del par de fuerza para el primer eslabón del manipulador, con el mismo número de estadísticos que los utilizados en la figura 5.11, (Obteniendo ese número de estadísticos con el mejor desempeño, lo cual se obtuvo a prueba y error); así se logró un error promedio de 0.5215 y un error RMS de 0.0653 los cuales son mayores a los obtenidos en la figura 5.11 (0.4533 Err. Prom y 0.0545 Err. RMS)

    Figura 5.14 Generación de par para el primer eslabón por la red holográfica con 4 épocas

    En resumen; la comparación de las dos redes implementadas en C++ se puede observar en la tabla 5.1.

    Tabla 5.1 Comparación en identificación de la red “backpropagation” y la red holográfica REDES NEURONALES

    ARTTIFICIALES RED

    HOLOGRÁFICA RED

    “BACKPROPAGATION” No. de épocas en converger promedio

    2 12386

    Error promedio en trayectorias

    0.63120 0.01203

    Error RMS promedio en ambas trayectorias

    0.08645 .001865

  • Pruebas de identificación y control con redes neuronales artificiales

    51

    5.4 Control del manipulador 5.4.1 Control del manipulador con redes neuronales artificiales

    En el capítulo 3 en la sección 3.4 se mencionó que se puede implementar un control inteligente usando redes neuronales y un control tradicional, de tal manera que la red neuronal artificial compensa la no linealidad de las plantas y el control convencional controla la planta como un sistema lineal.

    La posibilidad de obtener error de casi cero, hace preferible implementar algunas de las estructuras con retroalimentación y un control convencional, a lo cual se le llama estructura híbrida con red neuronal artificial. obteniendo un esquema como el que se observa en la figura 5.15:

    Figura 5.15 Control con modelo neuronal inverso de la planta y control P en paralelo

    Basándose en el esquema de la figura 5.15 se utiliza la red holográfica como

    controlador, apoyada por un control proporcional. Se hace notar que los valores de los ángulos de los dos eslabones se obtienen aplicando la cinemática inversa del manipulador a la posición objetivo como lo realizó Kip-Kap en [KIP-KAP_1992] [FU_1990].

    PlantaRed

    NeuronalHolográfica salida

    ypuyp'Referencia

    ys

    error P

    +

    -

    + +

    Figura 5.16

    Control del manipulador con la red holográfica y un control proporcional

    PlantaRed

    Neuronal Artificial salida

    ypuyp'Referencia

    ys

    error P

    +

    -

    +

    +

  • Pruebas de identificación y control con redes neuronales artificiales

    52

    5.4.2 Modelo de identificación

    Para las pruebas de identificación de un sistema dinámico se consideró un brazo articulado de dos grados de libertad. Para simular el movimiento detallado de un manipulador, se hace uso de las ecuaciones observadas en la sección 4.2 .. t1

    1/3 m1 l2 + 4/3 m2 l

    2 + m2 C2 l2 1/3 m2 l

    2 + ½ m2 l2 C2 θ1

    = .. t2

    1/3 m2 l2 + ½ m2 l

    2 C2 1/3 m2 l

    2 θ2 . . . -½ m2 S2 l2 θ22 - m2 S2l2 θ1 θ2 ½ m1 g l C1 + ½ m2 g l C12 + m2 g l C1 + . + ½ m2 S2 l

    2 θ12 ½ m2 g l C12

    (5.5) Ecuaciones de la dinámica de un manipulador de dos eslabones.

    El control realizado es el mismo que se mostró en la sección anterior, sólo que se le agrega una compensación gravitatoria, que calcula los pares necesarios para contrapesar las fuerzas gravitatorias [SCIAVICCO_1996]. Así el control solo compensa los pares necesarios para acelerar el robot, desplazarlo a una velocidad y finalmente desacelerarlo; estabilizandolo en la posición deseada para el efector final.

    Figura 5.17

    Control del manipulador con modelo de compensación gravitatoria.

  • Pruebas de identificación y control con redes neuronales artificiales

    53

    5.4.3 Obtención del modelo inverso de las fuerzas gravitatorias Debido a esto, debemos resolver la dinámica de las fuerzas de gravedad, atribuyendo que desconocemos las ecuaciones del modelo matemático del manipulador (suposición para resolver problemas reales de control inteligente), por tanto, debemos obtener las ecuaciones para generar el modelo interno de compensación gravitatoria. Para resolver esto se realiza el siguiente análisis. Evaluando simbólicamente las ecuaciones de Newton-Euler para cualquier manipulador [FU_1990], podemos escribir una ecuación dinámica en forma matricial: τ = M(θ)θ&& +V(θ,θ& )+G(θ) (5.6) Donde : M(θ)θ&& = Es la matriz de la simétrica inercial relacionada con la aceleración de sus elementos. V(θ,θ& ) = Es el vector de fuerza centrífuga y de Coriolis no lineal. G(θ) = Es el vector de la fuerza de la carga gravitatoria Cuando el manipulador se encuentra en una posición estática, no hay aceleraciones o velocidades, por lo tanto, la matriz M y el vector V tendrán un valor de cero en todos sus elementos, y los pares necesarios para mantener al manipulador en una posición cualesquiera, serán directamente proporcionales al vector de fuerzas de gravedad, lo cual se muestra en la siguiente ecuación : ττ = G(θ) (5.7) Escribiendo los componentes de (5.7) para un manipulador planar de dos grados de libertad, suponiendo que los dos eslabones tienen su centro de gravedad a la mitad de su longitud y ambos son del mismo tamaño, figura 5.18, tenemos: τ1 (m1/2+m2) g l cos(θ1) + m2/2 g l cos(θ1+θ2) (5.8) τ2 m2/2 g l cos(θ1+θ2)

  • Pruebas de identificación y control con redes neuronales artificiales

    54

    Figura 5.18

    Manipulador planar de dos grados de libertad

    con l1 = l2 y centros de gravedad ubicados al centro de cada eslabón. Reescribiendo a (5.8) como un sistema de ecuaciones:

    τ1 = (m1/2+m2) g l cos(θ1) + m2/2 g l cos(θ1+θ2) (5.9)

    τ2 = m2/2 g l cos(θ1+θ2) (5.10) Para un manipulador específico sabemos que m1, m2 y l son constantes, agregando aún que g también es constante, de esta manera definimos las siguientes dos relaciones: M1 = m1 g l (5.11) M2 = m2 g l (5.12) Reescribiendo a (5.9) tenemos

    τ1 = m1/2 g l cos(θ1) + m2 g l cos(θ1) + m2/2 g l cos(θ1+θ2) (5.13) Sustituyendo (5.11) y (5.12) en (5.10) y (5.13) tenemos: τ1 = ½ M1 cos(θ1) + M2 cos(θ1) + ½ M2 cos(θ1+θ2) (5.14) τ2 = ½ M2 cos(θ1+θ2) (5.15) Factorizando a M2 tenemos: τ1 = ½ M1 cos(θ1) + M2 (cos(θ1) + ½ cos(θ1+θ2) ) (5.16) τ2 = ½ M2 cos(θ1+θ2) (5.17)

  • Pruebas de identificación y control con redes neuronales artificiales

    55

    De esta manera el problema se reduce a encontrar a M1 y M2, los cuales son constantes. M2 = 2 τ2 (5.18) cos(θ1+θ2) M1 = 2(τ1 - M2 (cos(θ1) + ½ cos(θ1+θ2) ) ) (5.19) cos(θ1) Así el manipulador sin pares de fuerza en sus articulaciones estaría en la posición que se observa en la figura 5.19(a) debido a la fuerza de gravedad. Aplicando un par arbitrario en la segunda articulación (τ2) y transcurriendo un periodo de tiempo, generará un desplazamiento en θ1 y θ2 como se observa en la figura 5.19(b), de esta forma podemos obtener a M2.

    Figura 5.19 (a) Figura 5.19 (b)

    Manipulador con τ1 = 0 y τ2 = 0 Manipulador con τ1 = 0 y τ2 > 0

    Para determinar un valor de τ1 satisfactorio, se aplican diferentes torques en la segunda articulación hasta obtener un θ2 mayor a 33º y menor a 70º (esto mejora la precisión al calcular los valores de M1 y M2 por que genera un ángulo mayor en θ1).

    Nota.- θ1 se mueve por que el centro de gravedad de l1 en relación con l2 es

    desplazado al inclinar a l2, por el par de fuerza τ2 aplicado en θ2. Conociendo el valor de M2 y substituyendo en (5.19) obtenemos a M1. Finalmente, substituimos los valores de M1 y M2 en (5.16) y (5.17), y podemos obtener los pares necesarios para cualquier posición estática del manipulador, es decir, las fuerzas necesarias en cada articulación para compensar las fuerzas gravitatorias. De esta forma podemos reducir el control a un problema de un manipulador planar sin gravedad.

  • Pruebas de identificación y control con redes neuronales artificiales

    56

    5.5 Control realizado y resultados con red neurona