UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios de Postgrado Maestrı́a en Ingenierı́a Electrónica GENERADOR DE MODOS DE CAMINADO PARA ROBOT CUADRÚPEDO BASADO EN PRINCIPIOS NEUROFISIOLÓGICOS Trabajo de Grado presentado a la Universidad Simón Bolı́var por José de la Cruz Cappelletto Fuentes Como requisito parcial para optar al grado de Magı́ster en Ingenierı́a Electrónica Realizado con la tutorı́a del Profesor Juan Carlos Grieco Silva Octubre, 2006 i UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios de Postgrado Maestrı́a en Ingenierı́a Electrónica GENERADOR DE MODOS DE CAMINADO PARA ROBOT CUADRÚPEDO BASADO EN PRINCIPIOS NEUROFISIOLÓGICOS Este Trabajo de Grado ha sido aprobado en nombre de la Universidad Simón Bolı́var por el siguiente jurado examinador: Presidente (Nombre y firma) Miembro Externo (Nombre y firma) Indicar Institución a la que pertenece Miembro Principal-Tutor (Nombre y firma) Fecha: ii A Dios A mi familia iii Agradecimientos Antes que nada quiero expresar mi agradecimiento a Dios y a mis padres, siempre presentes, quienes han sido para mı́ la mejor guı́a que he podido recibir en mi vida. Gracias. Quiero hacer un especial reconocimiento al Prof. Juan Carlos Grieco, mi tutor de maestrı́a, primero por acoger este tema de tesis que reviste especial interés para mi persona; y también por su disposición a colaborar y participar en todo el proceso de investigación y desarrollo haciendo posible la culminación exitosa del presente trabajo. Son innumerables las veces que hemos discutido sobre diversos temas desde la metodologı́a, modelado, y demás aspectos abarcados en esta tesis; aparte de otros temas que han ayudado en mi formación como persona y como profesional. Mi más profundo agradecimiento al Prof. Gerardo Fernández, quien demostró un enorme interés en muchas fases del desarrollo de la presente tesis; y más importante aún, ha sido para mi un ejemplo de profesional ı́ntegro y con ética. Por todo ello, ası́ como por su constante colaboración durante estos últimos años, muchı́simas gracias. A mis compañeros de trabajo e investigación: Wilfredis Medina, Leonardo Fermı́n, Pablo Estévez, José Guzmán, José Miguel Bolaños, Dimitar Ralev y Ariel Tapia, con quienes compartı́ innumerables momentos dentro y fuera del laboratorio tanto de trabajo como de ocio, haciendo de estos años de estudio más llevaderos. Sin saberlo o no, con sus comentarios influenciaron enormemente en este trabajo de investigación. Por todo esto y mucho más, gracias. Finalmente, quiero agradecer al Decanato de Postgrado de la Universidad Simón Bolı́var, quienes han apoyado este trabajo de investigación al proveer los equipos necesarios, ası́ como financiando su presentación y publicación en distintas conferencias y congresos. Sin su ayuda no hubiese posible completar este trabajo. Son muchas las personas que en una u otra forma, también influenciaron y dieron forma al presente libro. El que no estén nombradas aquı́ no significa que no les agradezca su colaboración; gracias a todos ellos. iv Resumen A fin de controlar efectivamente un robot caminante bajo ambientes no estructurados, es indispensable disponer de un modelo del sistema de locomoción que sincronice los movimientos de las patas del robot de manera simple y flexible. Inspirado en los modelos neurofisiológicos de los sistemas biológicos, varios autores han propuesto soluciones basadas en el esquema de un generador central de patrones denominado CPG, implementado con redes neuronales recurrentes y sistemas osciladores acoplados. Estos aprovechan las ventajas de los modelos dinámicos, sin embargo el proceso de sı́ntesis de los parámetros resulta ser complejo debido a la dificultad para analizar tales modelos. En este trabajo se estudian y comparan distintas propuestas del sistema de locomoción basados en principios biológicos, identificando las ventajas y desventajas de cada uno de ellas. Con la incorporación del conocimiento del problema cinemático asociado a locomoción con patas, se propone un modelo espacio-temporal del sistema de caminado, el cual facilita la sı́ntesis y el control de caminado de un robot cuadrúpedo. Este modelo exhibe mejoras con respecto a los otros estudiados debido a que resuelve el problema de coordinación de fase entre las patas, a la vez que permite el control de la ubicación espacial de las mismas independientemente de la cinemática asociada a la estructura de las patas del robot. Palabras Clave: Sistema de locomoción, Cinemática, Modelos Neurofisiológicos, CPG. v Índice general 1 Introducción 1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Locomoción en robots con patas 2.1 Principios básicos . . . . . . . . . . . . . . . . . 2.2 Sistema generador de modos de caminado . . . 2.3 Modelo geométrico del sistema de locomoción . 2.4 Representación de modos de caminado mediante 2.5 Equilibrio estático en robots cuadrúpedos . . . . . . . . . . . . . . . . . . . . . . diagramas . . . . . . . . . . . . . . . . . . . . . de fase . . . . . 1 1 6 6 . . . . . . . . . . . . . . . . . . . . 8 8 11 13 14 16 3 Modelos neurofisiológicos del sistema locomotor en animales 3.1 Neurofisiologı́a de la locomoción en animales . . . . . . . . . . . 3.2 Modelo descriptivo de Hodgkin-Huxley . . . . . . . . . . . . . . 3.2.1 Dinámica del modelo Hodgkin-Huxley . . . . . . . . . . 3.3 CPG: Central Pattern Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 22 25 27 4 Análisis comparativo de modelos de CPG 4.1 Modelo de Chiel-Beer usando CTRNN . . . . . . . . . . . . . 4.1.1 Arquitectura de CPG basado CTRNN . . . . . . . . . 4.1.2 Metodologı́a para sı́ntesis de CPGs utilizando CTRNN 4.2 Modelo de Buchli utilizando ACPO . . . . . . . . . . . . . . . 4.2.1 Modelo de osciladores acoplados . . . . . . . . . . . . . 4.2.2 Pruebas del modelo basado en ACPO . . . . . . . . . . 4.3 Generación de trayectorias dinámicas con DNN . . . . . . . . 4.3.1 Generación: sı́ntesis de red recurrente . . . . . . . . . . 4.3.2 Modulación: Sı́ntesis de red no recurrente . . . . . . . . 4.4 Comparación entre técnicas para modelado de CPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 31 33 34 50 51 58 66 69 70 72 . . . . . . 74 76 77 77 80 86 89 5 Generador de modos de caminado en robots cuadrúpedos 5.1 Propuesta de modelo del generador de modos de caminado . . 5.1.1 Arquitectura del modelo propuesto . . . . . . . . . . . 5.1.2 Referencias en tiempo . . . . . . . . . . . . . . . . . . 5.1.3 Transición entre trayectorias mediante redes neuronales 5.1.4 Resultados de la sı́ntesis de trayectorias . . . . . . . . . 5.2 Propuesta de modelo generador de modos de caminado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi 5.2.1 5.2.2 5.2.3 5.2.4 Referencia temporal con ACPO . . . . . . . . . . . . . Transformación espacial con red neuronal feedforward . Descripción de experimento con plataforma cuadrúpeda Resultados experimentales y análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 . 97 . 100 . 102 6 Principales aportes, conclusiones y lineas de investigación futuras 111 6.1 Principales aportes y conclusiones . . . . . . . . . . . . . . . . . . . . . . . 111 6.2 Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Referencias Bibliográficas 119 vii Índice de tablas 3.1 3.2 Parámetros del Modelo Hodgkin-Huxley . . . . . . . . . . . . . . . . . . . Funciones empı́ricas para parámetros m, n y h . . . . . . . . . . . . . . . . 24 24 4.1 Valores de parámetros para CTRNN . . . . . . . . . . . . . . . . . . . . . 4.2 Salidas de CTRNN sintetizadas con AGs para salidas constantes . . . . . . 4.3 Salidas de CTRNN sintetizadas con AGs para salidas constantes varias . . 4.4 CTRNNs sintetizadas por AGs para valores de M AX dados . . . . . . . . 4.5 CTRNNs sintetizadas por AGs para valores de M IN dados . . . . . . . . . 4.6 (a) Desfases bases según modo de caminado y (b) Fases normalizadas de rotación según modo de caminado . . . . . . . . . . . . . . . . . . . . . . . 4.7 Matrices de rotaciones para CPG-ACPO . . . . . . . . . . . . . . . . . . . 4.8 Comparación de técnicas para modelado de CPG . . . . . . . . . . . . . . 35 46 47 48 49 5.1 56 56 72 Redes neuronales entrenadas . . . . . . . . . . . . . . . . . . . . . . . . . . 103 viii Índice de figuras 2.1 Tipos de patas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Sistema generador de modos de caminado . . . . . . . . . . . . . . . . 2.3 Parámetros de modelo geométrico . . . . . . . . . . . . . . . . . . . . . 2.4 Diagramas de fases para una pata con distintos valores de β . . . . . . 2.5 Diagramas de modos de locomoción en robots cuadrúpedos . . . . . . . 2.6 Condición de equilibrio estático en robots cuadrúpedos . . . . . . . . . 2.7 Secuencia de caminado con equilibrio estático para robots cuadrúpedos . . . . . . . 10 12 14 15 16 17 19 3.1 Diagrama esquemático del modelo Hodgkin-Huxley . . . . . . . . . . . . . 3.2 Función de equilibrio X0 (u) y Constante de tiempo τ (u) en modelo HodgkinHuxley . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Respuesta temporal del potencial u(t) ante entrada impulsiva . . . . . . . . 22 25 26 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 32 33 35 36 37 38 38 39 40 40 41 41 42 42 48 49 52 53 55 57 59 61 62 63 Ejemplos de CTRNN interconectadas . . . . . . . . . . . . . . . . Arquitectura de CPG basada en CTRNNs . . . . . . . . . . . . . Salidas de CTRNN de Chiel-Beer. Euler = 0.1 . . . . . . . . . . . Vista 2D de salida de CTRNN de 3 nodos . . . . . . . . . . . . . Vista 3D de campo atractor. Configuración monoestable . . . . . . Vista 2D de campo atractor. Configuración monoestable . . . . . . Intensidad de campo atractor. Configuración monoestable . . . . . Vista 3D de campo atractor. Configuración biestable . . . . . . . . Vista 2D de campo atractor. Configuración biestable . . . . . . . . Intensidad de campo atractor. Configuración biestable . . . . . . . Vista 3D de campo atractor. Configuración oscilador . . . . . . . Vista 2D de campo atractor. Configuración oscilador . . . . . . . Intensidad de campo atractor. Configuración oscilador . . . . . . Desfases para distintos estados iniciales en configuración oscilador Solución oscilatoria para P ROobjetivo = [−4, −1, 7]T . . . . . . . . Formas de onda: (a) Referencia y (b) Sintetizada por AGs . . . . Representación de perturbación en oscilador no lineal . . . . . . . Ciclo lı́mite para ACPO con ro = 1, g = 10 y ω = 2π . . . . . . . Arquitectura de conexión para CPG con ACPO . . . . . . . . . . Funciones de transición de fases . . . . . . . . . . . . . . . . . . . Ciclo lı́mite de ACPO en para distintos valores de g . . . . . . . . Salidas de CPG-ACPO en función del tiempo, Pmodo = 0 . . . . . Trayectorias en el plano del vector q para cada pata . . . . . . . . Fases de cada pata en función del tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 4.25 Módulos para cada pata en función del tiempo . . . . . . . . . . . . . . . . 4.26 Salidas de CPG-ACPO en función del tiempo, Pmodo variable . . . . . . . . 4.27 Arquitectura de DNN basada en RNN y NRNN . . . . . . . . . . . . . . . 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23 5.24 Modelo propuesto para generador de modos de caminado. . . . . . . . . . . Estructura de red feedforward para transición de trayectorias. . . . . . . . Formas de onda: (a) Triangular (b) Rectangular (c) Redondeada . . . . . . Diagrama de una pata en el cuadrúpedo . . . . . . . . . . . . . . . . . . . Referencias angulares para los 3 perfiles . . . . . . . . . . . . . . . . . . . . Sistema de entrenamiento de red feedforward . . . . . . . . . . . . . . . . Error promedio vs No de épocas para 3 grupos de redes neuronales . . . . . Salidas de red neuronal para entradas: (a) Rampa (b) U-V (c) CTRNN . . Efecto de overfitting en trayectorias. . . . . . . . . . . . . . . . . . . . . . Arquitectura de modelo de CPG propuesto . . . . . . . . . . . . . . . . . . Relaciones de fase vs tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . Vectores de salida vs tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . Trayectorias en el plano del vector q para cada pata ante cambios de fases. Módulo de q1 vs tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfica de curva de compansión c(x, β). . . . . . . . . . . . . . . . . . . . . Estructura de la red neuronal. . . . . . . . . . . . . . . . . . . . . . . . . . Esquema de entrenamiento de red neuronal. . . . . . . . . . . . . . . . . . Ubicación de sensores sobre la plataforma robótica. . . . . . . . . . . . . . Trayectoria de ejemplo para entrenamiento. . . . . . . . . . . . . . . . . . Vista en plano Y-Z de las trayectorias de salida de las redes neuronales. . . Gráficas de aceleraciones para red NN1. . . . . . . . . . . . . . . . . . . . . Gráficas de aceleraciones para red NN2. . . . . . . . . . . . . . . . . . . . . Gráficas de aceleraciones para red NN4. . . . . . . . . . . . . . . . . . . . . Graficas de aceleraciones para red NN5. . . . . . . . . . . . . . . . . . . . . 63 64 67 77 81 82 83 84 85 86 88 89 91 92 93 94 95 96 98 99 102 103 104 107 108 109 110 1 Introducción El sistema de locomoción es uno de los mas importantes al momento de diseñar robots móviles. Esto se fundamenta principalmente en que dicho sistema lleva a cabo la compleja tarea de coordinar el conjunto de actuadores presentes en la plataforma, a fin de lograr una interacción con el medio cuya consecuencia directa sea el desplazamiento controlado del móvil. Se tiene que para el caso especı́fico de locomoción sobre sustrato rı́gido las dos opciones principales son las ruedas y las patas. La opción de usar ruedas para el movimiento de la plataforma se remonta hasta principios de la historia de los robots móviles en sı́, pero el uso de patas ha demostrado ser más adecuado en muchas aplicaciones actuales[1][2], por sus mejores prestaciones en aspectos como eficiencia, versatilidad y menor intrusión en el medio, haciendo de la misma una elección correcta para tareas complejas en ambientes poco estructurados. Existen recientes trabajos de investigación orientados al uso de nuevos enfoques en el diseño del sistema de locomoción, en especial para robots con patas. Algunos de los principales aportes provienen de trabajos que se basan en observaciones efectuadas en campos como la biologı́a y la neurofisiologı́a. Mediante la observación de los comportamientos durante el caminado en distintos animales, 1.1 Antecedentes Estudios en el área de neurofisiologı́a soportan la hipótesis de que el proceso de caminado es de naturaleza altamente distribuido y paralelo, y no centralizado en el cerebro 2 como se sostenı́a hace tiempo. Actualmente se considera que el proceso de control ejercido por el cerebro corresponde a señales de alto nivel, que se combinan en la espina dorsal con la realimentación proveniente de los sensores en las patas, a fin de modificar la señal de excitación o inhibición de cada uno de los actuadores, ası́ como la relación de fase entre las patas. El sistema encargado de la fusión e interpretación de las señales de control de alto nivel con la realimentación local de bajo nivel recibe el nombre de generador central de patrones (CPG por sus iniciales en ingles)[3]. A. Billard y A. J. Ijspeert han realizado propuestas de sistemas neuronales para el control motor en robots cuadrúpedos y bı́pedos [4][5]. Utilizando un modelo de red neuronal oscilatoria compuesta por neuronas denominadas integradores con fuga, fueron capaces de generar distintos modos de caminado para un cuadrúpedo con 2 grados de libertad (GDL) por pata. También incluyeron realimentación de posición en cada una de las articulaciones actuadas. Mediante una señal de control externa, fueron capaces de modular la transición entre los modos de caminado a la vez que podı́an también controlar la frecuencia de oscilación del sistema y con ello la velocidad de caminado del robot. Observaron que el sistema podı́a pasar de un estado de reposo a caminado mediante una excitación externa percibida mediante la realimentación en las articulaciones. Si bien el esquema por ellos propuesto no fue evaluado en una maquina caminante compleja, lograron probar el concepto básico de modelado del sistema de caminado mediante el uso de redes neuronales. La representación del sistema de caminado mediante CPG no se ha limitado a robots con patas. Hay trabajos como el de J. Conradt y P. Varshavskaya [6], en el cual se describe el control de un robot tipo serpiente mediante el uso de un CPG con una estructura distribuida. El robot descrito posee un elevado número de GDL, cada uno de ellos representados por actuadores rotacionales entre cada uno de los segmentos rı́gidos del robot. Un sistema de osciladores acoplados fue utilizado para controlar la relación de fase entre señales sinusoidales de referencia de ángulo para cada uno de los actuadores. A pesar de la simplicidad de la cadena cinemática de cada elemento rı́gido de la serpiente, donde 3 solo hay acople entre motores vecinos, no lograron obtener un método determinı́stico para el cálculo de los parámetros del modelo para un modo de locomoción dado. Sin embargo, este trabajo reviste cierta importancia ya que ilustra la aplicación de un verdadero esquema de control distribuido puesto que todos los elementos osciladores son idénticos, sin que hubiese una unidad de procesamiento principal. El uso de principios biológicos de locomoción no se reduce a robots inspirados en animales vertebrados. Schmitz et al [7] describen el desarrollo de un controlador de caminado para un robot hexápodo basándose en investigaciones realizadas en insectos. Ellos reportan que haciendo uso de las propiedades fı́sicas del sistema, es posible el control de caminado sin necesidad de información explı́cita de la geometrı́a del sistema mecánico. Identifican la generación del caminado como una propiedad emergente del uso de unas pocas reglas simples a nivel local de las patas, y que dependen del estado de sus pares vecinos. Nuevamente en este trabajo se refuerza el concepto de distribución de la tarea de sı́ntesis de modos de caminado. Al final proponen que la inclusión de realimentación de sensores locales permitirı́a la obtención de reflejos automáticos tal y como ocurre en los sistemas biológicos. También se ha identificado al CPG como una implementación del concepto de percepción integral en el proceso de caminado. Éste es un nuevo paradigma para la comprensión del sistema de locomoción. Varios autores proponen la existencia un vı́nculo importante entre la locomoción con patas y el proceso de percepción. Por ejemplo, M. A. Lewis [8][9] representa las señales proveniente de los sensores de manera cualitativa a través de modelos abstractos. Utilizando un modelo del sistema locomotor realimentado localmente, junto con un sistema de predicción, el autor cita haber obtenido mejoras en el desempeño del sistema de caminado para la evasión de obstáculos, en comparación con un sistema de control correctivo convencional. Dicha mejora se vuelve marginal conforme aumenta el tamaño del obstáculo, pero para dimensiones reducidas del obstáculo la diferencia del desempeño es notable. Fukuoka, Kimura y Cohen [10][11] mediante la incorporación del concepto de percepción integral, han logrado diseñar e implementar un sistema de control 4 de caminado dinámico, con capacidad de operar sobre terrenos irregulares. La plataforma por ellos usada fué un robot cuadrúpedo con 2 GDL por patas, con configuración de las patas tipo mamı́fero. Ellos también señalan el compromiso existente entre el consumo de energı́a y el equilibrio de la plataforma robótica, tal como reportan otros autores que usan modelos convencionales del sistema de caminado [1][12][13][14] En lo que respecta a las implementaciones de CPG, han habido varias propuestas contándose entre las más importantes las hechas por R. Beer y H. Chiel [15][16] en las cuales se usan redes recurrentes continuas en tiempo (CTRNNs), donde se aprovechan las caracterı́sticas dinámicas de este tipo de redes para replicar el comportamiento cı́clico de los actuadores en cada pata. Existen varias investigaciones que se basan en el modelo de Amari-Hopfield[17] de módulos osciladores simples cuyo análisis individual resulta menos complejo que en el caso de las CTRNNs, pero la obtención de un comportamiento global del sistema que permita controlar la locomoción con patas sigue siendo de notable complejidad. También existen modelos dinámicos de osciladores controlados por amplitud (ACPO) como el propuesto por Buchli[18], en el cual la descripción matemática del sistema de coordinación temporal entre las patas ofrece un método casi directo para la generación de varios modos de caminado. Beer y Chiel[15][16], hacen uso de algoritmos genéticos (AGs) para la sı́ntesis de los parámetros del CPG modelado mediante CTRNNs. Como modelo de plataforma robótica usan un hexápodo de 2 GDL por pata. Si bien el uso de AGs implica la ausencia de un proceso determinı́stico para la obtención de los parámetros, los autores hacen un estudio exhaustivo de diferentes topologı́as de conexión de las neuronas usadas en el CPG. También analizan el impacto del número de neuronas en la obtención de un patrón de caminado en especı́fico. Mediante la representación de cada neurona como un módulo dinámico identifican los principios básicos que rigen la evolución temporal de los estados del CPG. La incorporación de éste concepto facilita la comprensión del fenómeno de emergencia de comportamientos oscilatorios. 5 La implementación de CPG mediante ACPO, tal como propone Buchli representa una notable simplificación de la arquitectura central. Mediante éste enfoque el autor logra resolver el problema de coordinación del movimiento entre las patas, utilizando tantos osciladores como patas estén presentes. El sistema que estudia con detalle es el correspondiente a un cuadrúpedo. En [19] se propone la existencia de una señal única para el control de la relación de fases del modo de caminado, siendo dicha señal de naturaleza continua lo cual permite la transición suave entre modos como galope y caminado, por ejemplo. La forma en que estructura el modelo permite a su vez controlar de manera directa la velocidad de oscilación de las patas. En este modelo de osciladores acoplados se resuelve el problema de sincronización durante la transición entre distintos modos de caminado, pero los problemas de ubicación espacial de la pata ası́ como la relación de fase entre los actuadores dentro de cada pata, permanecen sin solución alguna. Esta situación es más compleja cuando se desea controlar el caminado de plataformas con un mayor número de grados de libertad en cada pata. Ghigliazza et al [20], se propone un modelo reducido de CPG, pero funcionalmente equivalente. Éste trabajo se centra en el modelo biomecánico de locomoción en insectos como las cucarachas. Adaptan un modelo de neuronas de estallido de 3 dimensiones como se describe en [21], a una versión reducida cuya implementación se basa en osciladores acoplados. Con esta técnica se controló la frecuencia de los pasos y el ciclo de trabajo de cada pata, a la vez que controlaban directamente los actuadores presentes en todas y cada una de las patas. Al ser una estructura de red neuronal simétrica, a la cual se le puede aplicar un tratamiento analı́tico, fue posible extraer principios generales del comportamiento del sistema en base a los parámetros del modelo. Al igual que en el trabajo de Beer y Chiel, efectúan un análisis dinámicos de los componentes básicos. De esta manera logran resolver el problema de coordinación entre los actuadores dentro de cada pata, existente en la propuesta de Buchli, manteniendo el uso de osciladores acoplados que resultan ser de mas fácil comprensión que las CTRNNs. 6 1.2 Planteamiento del problema En trabajos previos de modelado del sistema locomotor en robots con patas, utilizando principios neurofisiológicos, se han planteado y evaluado soluciones con arquitecturas especı́ficas que dificultan la generalización de su uso en robots con diferentes estructuras mecánicas. En algunas investigaciones se han logrado identificar componentes que son relevantes en el sistema de caminado, ası́ como modelos funcionalmente equivalentes que facilitan el diseño de partes del sistema completo. Sin embargo, no queda resuelto de manera explı́cita el problema de coordinación de movimientos entre patas y dentro de las mismas, en especial para el caso especı́fico de plataforma cuadrúpeda con 3 GDL. Por ello existe la necesidad de desarrollar un modelo de caminado el cual permita sintetizar diferentes modos de caminado sin que se requieran cambios alguno en la arquitectura del mismo. También se necesita poder controlar la trayectoria espacial de cada una de las patas, permitiendo la implementación de esquemas de control externos a fin de adaptar el caminado del robot para cumplir con diferentes tareas. Un inconveniente presente en varias de las soluciones existentes para caminado en robot, es que el modelo de locomoción depende fuertemente de la estructura cinemática de las patas. Por esto se prefiere un modelo donde las modificaciones en las patas impacten de manera mı́nima en la arquitectura del mismo. 1.3 Justificación Para controlar de manera más efectiva los robots caminantes en ambientes no estructurados, es necesario disponer de un modelo del sistema de locomoción que resuelva el movimiento coordinado de las patas de manera simple, y que a la vez sea lo suficientemente flexible como para permitir la intervención de un sistema externo y adecuar el movimiento de cada pata a los requerimientos particulares de la tarea a resolver. Mediante el uso de principios neurofisiológicos se plantea una solución que cubre algunas de las desventajas 7 presentes en modelos previos en lo que respecta a la coordinación entre las patas, y también se evita la dependencia respecto a una configuración cinemática especı́fica para las patas del robot. El trabajo aquı́ descrito es de especial relevancia debido se usa como plataforma de prueba del modelo un robot cuadrúpedo de tres grado de libertad por pata, área donde hay menos trabajos de investigación sobre modelado neurofisiológico del sistema de locomoción, situación que no ocurre en los ampliamente estudiados robots hexápodos y cuadrúpedos con solo dos grados de libertad por pata. 8 Locomoción en robots con patas En este capı́tulo se describen los principios de locomoción en robots, en particular para plataformas con patas. Se mencionan los tipos principales de robots caminantes, ası́ como diferentes modos de caminado. Luego se explica con detalle el modelo geométrico convencional del sistema de caminado, incluyendo la representación de los modos de caminado a través de diagramas de fase. Finalmente se comentan las condiciones de equilibrio estático necesarias en modos de caminado para robots cuadrúpedos. 2.1 Principios básicos Los tipos de movimientos en animales, ası́ como en plataformas robóticas pueden ser clasificados como cambio de forma y locomoción. La locomoción depende de las fuerzas aplicadas, las cuales deben poseer una componente en la misma dirección del desplazamiento pero con sentido contrario. Según [1] existen cuatro tipos de fuerzas involucradas: • Propulsión: empuje contra la superficie en la dirección del movimiento • Fricción para el aumento del empuje de propulsión. • Adhesión para contrarrestar las fuerzas no propulsivas que tiendan a despegar al móvil del sustrato. • Soporte para resistir las fuerzas que tiendan a presionar al móvil contra el sustrato. 9 Nótese que no todas las fuerzas señaladas anteriormente están siempre presentes en el proceso de locomoción, o bien no parece evidente su presencia. Sin embargo se puede afirmar que en varios casos está involucrada tanto la reacción de la superficie como la mecánica de fluidos (volar y nadar). La locomoción requiere un contacto entre el móvil y la superficie para que provea de soporte y adhesión. Este contacto también puede ser útil para la propulsión mediante la fricción. En el caso de locomoción con patas, la limitación fundamental es la dimensión finita de cada paso, por lo cual cada pata debe ser movida hacia adelante y atrás de manera repetida para lograr la locomoción de la plataforma. Dado esto el sistema locomotor tiene una caracterı́stica propia de oscilación. Esta caracterı́stica es de importancia en el momento de modelar la secuencia de caminado del robot completo. Una consecuencia del proceso de transferencia de la pata de atrás hacia adelante, momento durante el cual se separa de la superficie, es que el soporte del robot debe hacerse mediante otros medios, siendo las posibles opciones las siguientes: • El móvil descansa sobre su cuerpo durante las transferencias de las patas, esto reduce la velocidad máxima. • La plataforma está provista de múltiples patas, donde mientras se transfiere un grupo de ellas, aun quedan otras en contacto con la superficie dando soporte al robot. • El móvil vuela balı́sticamente entre pasos de propulsión, donde el equilibrio pasa a ser dinámico, y posiblemente se requiera algún soporte dinámico. La primera opción es adecuada en maquinarias pesadas y lentas donde la velocidad no es crı́tica, prefiriéndose la simplicidad del manejo de las patas. La opción de vuelo balı́stico es útil donde se requiere velocidad, sin embargo el control de la dinámica involucrada es una tarea extremadamente compleja [1][22]. La opción más usada es la segunda. Aquı́ el problema es coordinar las fases de apoyo y transferencia de las patas, ası́ como 10 la corrección de tales movimientos según los cambios de desplazamientos y las variaciones del entorno. El sistema que se encarga de dicha coordinación recibe el nombre de sistema generador de modos de caminado. Entre los robots con patas, se puede utilizar el número de las mismas como un criterio de clasificación, estando los monópodos, bı́pedos, cuadrúpedos y hexápodos por mencionar los más comunes. Tanto los monópodos y los bı́pedos conforman de por si un grupo aparte debido a que durante la fase de transferencia de las patas a lo sumo hay una sola pata en contacto con el sustrato. En lo concerniente al tipo de patas existen dos grupos principales basándose en la estructura animal que la motiva: tipo reptil y tipo mamı́fero. En la Figura 2.1 se ilustran ambas clases. Figura 2.1: Tipos de patas La principal diferencia entre ambos tipos de patas estriba la geometrı́a y longitud de cada uno de los eslabones que componen la pata, ası́ como de la orientación del eje de rotación de los actuadores presentes en cada una de las articulaciones. En el caso de la pata tipo mamı́fero, el cuerpo tiende a estar más elevado y el polı́gono de apoyo que forman las patas sobre el terreno es más estrecho. La desventaja de esto es que al estar 11 el centro de gravedad más arriba, hay menor margen de equilibrio en comparación con la disposición tipo reptil donde el cuerpo está mas próximo a la superficie de contacto. Sin embargo, desde el punto de vista de energı́a necesaria para los actuadores de cada articulación de la pata, en esta última configuración el gasto para sostener la plataforma es mayor, debido principalmente a que el peso del cuerpo del robot genera mayores torques sobre las articulaciones requiriendo un acción de igual magnitud y dirección contraria para mantener el equilibrio. 2.2 Sistema generador de modos de caminado El sistema generador de modos de caminado es el encargado del coordinar cada uno de los actuadores, a fin de obtener un movimiento de las patas tal que permitan la locomoción controlada de la plataforma robótica. Dicho sistema suele estar estructurado para que genere referencias para la ubicación en función del tiempo del elemento terminal de la pata, ya que es ésta la que entra en contacto con el sustrato de soporte. Dado esto, normalmente las posiciones son referenciadas con respecto a un sistema de coordenadas colocado en el mismo móvil, por lo que la posición de cada pata es una trı́ada de valores en el espacio cartesiano R3 de la forma (X,Y,Z). Luego estos valores de posición son llevadas al espacio de los actuadores mediante la operación de transformación de cinemática inversa. La estructura convencional de un sistema generador de modos de caminado puede ser observado en la Figura 2.2. Al usar un esquema donde se generan perfiles de la punta de la pata en el espacio cartesiano, cualquier cambio de la estructura cinemática de la pata solo altera la transformación espacial final a nivel de la cinemática inversa. En la Figura 2.2 se pueden identificar dos subsistemas principales que conforman al generador de modos de caminado. El primero de ellos corresponde al sistema de referencia espacial en el cual se controla únicamente el perfil cerrado que describirá la pata durante un ciclo completo de apoyo y transferencia. El otro subsistema presente es el de referencia 12 Figura 2.2: Sistema generador de modos de caminado temporal, en el cual se determinan las relaciones de fase entre cada una de las patas. Este enfoque para la generación de modos de caminado ha demostrado ser útil cuando el móvil opera bajo ambientes controlados, casi siempre sobre superficies planas no deslizantes. Cuando se evalúa dichos modelos en ambientes no estructurados, generalmente las secuencias de caminado terminan siendo inoperantes. Consecuencia de ello, se han propuesto modificaciones a tales modelos, donde se contemplan los distintos tipos de perturbaciones que pueda sufrir el sistema. Sin embargo, debido a que las plataformas robóticas suelen tener un número considerable de grados de libertad, el número de casos de perturbaciones a contemplar es elevado, por no decir infinitos. A pesar de ello, existen modelos que poseen la capacidad de representar una serie de secuencias de caminado que bajo ciertas condiciones de trabajo se comportan de manera aceptable. Tal es el caso del modelo geométrico en el cual se parametriza el caminado en función del largo del paso, duración del mismo, y porcentaje de permanencia de la pata sobre el piso. Se ha verificado que incluyendo un parámetro que controle la relación de fase del movimiento entre cada 13 una de las patas del robot, es posible obtener un grupo de modos de caminado útiles como lo son gateo, trote, galope, arrastre, entre otros[1]. Mediante la inclusión de realimentación proveniente de sensores ubicados en la plataforma, es posible la implementación de un sistema de control el cual modificando los parámetros principales del modelo de locomoción adecue el caminado a las condiciones de operación presentes en un momento dado. 2.3 Modelo geométrico del sistema de locomoción Este es el modelo básico empleado para la representación y generación de distintos modos de caminado en varios tipos de robots caminantes. Los parámetros principales del mismo son los siguientes: • Longitud de paso (λ): representa la longitud recorrida por la pata durante la fase de contacto con la superficie de apoyo. Normalmente la unidad empleada para medir este parámetro es la longitud del cuerpo del robot. • Perı́odo de paso (τ ): es la medida del tiempo que le toma a la pata completar un ciclo completo de apoyo y transferencia hasta el punto inicial de la secuencia. • Factor de apoyo (β): este parámetro es el cociente entre el intervalo de tiempo durante el cual la pata se encuentra apoyada y la duración total de la secuencia para una pata (τ ). El rango teórico va de 0 a 1, para valores mayores a 0.5 el pie permanece más tiempo sobre la superficie que separado de la misma. Nótese que este modelo parametriza la trayectoria descrita por la pata principalmente por la longitud del paso, durante la fase de soporte, restándole importancia a la fase de transferencia de la pata. También se puede apreciar que la velocidad promedio Vpro del robot puede ser controlada directamente variando la longitud del paso y el perı́odo del paso, siguiendo la relación dada por Vpro = λ/τ . El parámetro β modifica el tiempo que 14 permanece la pata en soporte y en transición. Para éste no se suelen usar valores extremos (0 o 1) ya que hace que los actuadores en la pata operen a altas velocidades para cubrir un recorrido dado en un corto tiempo. En la Figura 2.3 se muestra un perfil espacial rectangular para una pata, y se identifican los parámetros más relevantes del modelo geométrico. Figura 2.3: Parámetros de modelo geométrico 2.4 Representación de modos de caminado mediante diagramas de fase Una técnica muy utilizada para la representación de los distintos modos de caminado es mediante el uso de diagramas de fase. Debido a que el movimiento de cada pata es de naturaleza cı́clica con un perı́odo finito τ , el cual normalmente es igual para todas las patas, el sistema de referencia temporal queda descrito de manera unı́voca mediante la relación de fase. Este enfoque también incorpora el concepto temporal de factor de apoyo (β). Debido a su naturaleza temporal, no se incluye ningún tipo de información correspondiente a la geometrı́a de la pata ni se muestra de manera alguna el perfil espacial que describe el elemento terminal de la pata. Solo se identifica la fase de transferencia y la fase de apoyo. En la Figura 2.4 se ilustra éste método de representación para el movimiento 15 de una pata, con diferentes valores de factor de apoyo. Figura 2.4: Diagramas de fases para una pata con distintos valores de β La información espacial provista por este tipo de diagramas de fase se limita a solamente dos estados: en contacto con la superficie que corresponde a la fase de soporte, y en el aire que es la fase de transferencia de la pata. Dado esto, es posible representar todos los tipos de caminado, a la vez que facilita la comparación desde el punto de vista temporal de distintos modos y modelos de caminado para distintos robots caminantes. En el caso especı́fico de robots cuadrúpedos, existen varios modos comunes de caminado. En la Figura 2.4 se muestran 3 de estos modos. Se puede observar que el modo Arrastre es estáticamente estable. Para ello es necesario que estén apoyadas como mı́nimo tres de la cuatro patas del cuadrúpedo, lo que determina que el factor de apoyo sea mayor a 0.75 para todas las patas. En lo que respecta a los modos de caminado denominados Trote y Galope las condiciones de equilibrio son diferentes. En ambos casos el cuadrúpedo se mantiene en equilibro dinámico, sin embargo es necesario que se mueva a velocidades mayores cuando adopta el último modo de caminado donde vuela balı́sticamente entre las fases de soporte[1][23]. 16 Figura 2.5: Diagramas de modos de locomoción en robots cuadrúpedos 2.5 Equilibrio estático en robots cuadrúpedos En modos de caminado estáticamente estable se establece que el robot puede permanecer indefinidamente en alguna posición del ciclo completo de locomoción, y aun ası́ permanecer en equilibrio si requerir de algún sistema de control externo. Ésto no ocurre en modos de caminado dinámicos como trote y galope, puesto que existen fases donde a lo sumo hay dos patas en fase de soporte, caso donde la plataforma es inestable estáticamente. Para un robot cuadrúpedo en modo de caminado estático la condición de equilibrio se resume a que la proyección de la fuerza de gravedad sobre la superficie de apoyo, intersecte al polı́gono de apoyo en su interior. De esta manera los pares de rotación producto del peso por el brazo de palanca de cada pata apuntan todos hacia el interior de la plataforma, siendo todos anulados por las componentes normales en los puntos de apoyo. Si la 17 proyección del peso cae fuera del polı́gono de apoyo, se tiene una componente no nula de rotación que reduce la fuerza de soporte en alguna de las patas, provocando su desprendimiento de la superficie de apoyo, y por último el volcamiento del robot. La condición de equilibrio se ilustra con detalle en la Figura 2.6. Figura 2.6: Condición de equilibrio estático en robots cuadrúpedos En el caso que se muestra a la izquierda, están en apoyo las patas 2,3 y 4; el vector peso aplicado en el centro de gravedad en dirección normal al plano de vista intersecta al plano de apoyo fuera del polı́gono de apoyo. En este caso el robot es inestable. El peso produce un par de rotación sobre el eje de apoyo entre la pata 2 y la pata 3 en sentido hacia la pata 1 que no está en apoyo. En cambio, en el caso mostrado a la derecha la proyección del peso está contenida dentro del triángulo de apoyo que forman las patas 1, 2 y 3. Las restricciones arriba descritas normalmente conllevan a que en la generación de referencias espaciales a las patas durante la fase de soporte, sea necesario la inclusión de un corrimiento sobre el plano de apoyo (X-Y). El punto ideal de ubicación de la proyección del centro de gravedad es el centroide del polı́gono de apoyo. Sin embargo ya que el cuerpo está en movimiento, dicho centro de referencia también debe moverse con el tiempo. Para ésto, se sigue una secuencia de pasos y desplazamientos tal como la que se muestra en la Figura 2.7. 18 En la secuencia de pasos se observa que el robot cuadrúpedo pasa por fases de apoyo con 3 patas y 4 patas de manera alternada. Las secuencias con 3 patas, donde el polı́gono de apoyo es un triángulo, el robot se desplaza de manera tal que el centro de gravedad del mismo se acerque al centro geométrico del triángulo de apoyo. Luego de cada una de estas secuencias, la pata que está en el aire se apoya, expandiendo el polı́gono a un cuadrilátero. En esta fase el cuadrúpedo nuevamente desplaza su centro de gravedad a fin de que quede dentro del triángulo que se formará en el paso siguiente cuando se levante nuevamente una pata. Este ciclo de alternancia de apoyo y desplazamiento del centro de gravedad se repite para las fases de transferencia de cada una de las patas. Existen trabajos donde amplı́an la noción de margen de estabilidad en locomoción cuadrúpeda hacia situaciones de caminado dinámico como en [13], pero este tipo de condiciones de operación no se consideran dentro del presente trabajo. 19 Figura 2.7: Secuencia de caminado con equilibrio estático para robots cuadrúpedos 20 Modelos neurofisiológicos del sistema locomotor en animales En este capı́tulo se menciona el modelo descriptivo del sistema neuronal en animales. Ésto permite una mejor comprensión de los principios neurofisiológicos que rigen al caminado en sistemas biológicos. Se mencionan las caracterı́sticas desde el punto de vista externo del sistema de locomoción. Posteriormente se hace referencia al modelo de Hodgkin-Huxley, en el cual varios autores se han basado para desarrollar distintas propuestas de modelos neuronales para la representación del sistema de caminado. Al término del capı́tulo se describe el concepto de CPG (Central Pattern Generator) ó Generador Central de Patrones, el cual permite modelar el principio neurofisiológico actualmente aceptado en la generación de movimientos rı́tmicos en animales. 3.1 Neurofisiologı́a de la locomoción en animales Una de las áreas de conocimiento que ha inspirado soluciones a problemas en el área de robótica es la asociada a la Biologı́a. Ejemplos basados en la morfologı́a y estructura de las patas en robots caminantes saltan a la vista (ver Figura 2.1). También ha influido en algunos diseños de la estructura misma del robot, en tales caso se usa el término de biomórfico para identificar dichas soluciones. En otros casos la influencia no es visible en la forma del robot, sino en su comportamiento. Aquı́ los conocimientos de ramas de la biologı́a como el estudio del comportamiento animal (etologı́a), son utilizados para la programación de las plataformas, en especial en el caso de sistemas de robots cooperantes. 21 Si bien, el sistema de locomoción con patas se ha visto inspirado desde un principio por los animales, dicha influencia es principalmente en el tipo de secuencias que se desean que emulen las maquinas. No ha sido sino desde la década de los 90 que se han iniciado estudios relevantes en identificar el modelo biológico que opera en animales para generar dichas secuencias. Dada la naturaleza de como está constituido fı́sicamente el sistema que controla el caminado en seres vivos, tales modelos reciben el adjetivo de neurofisiológicos. Los especialistas del área han logrado proponer una serie de modelos que a pesar de las diferencias entre los mismos, existe un componente común nada despreciable. A continuación se enumeran una serie de planteamientos comunes entre los diferentes modelos: • El sistema de locomoción se encuentra realimentado localmente, bien por sensores de tacto, presión, músculos, etc. • El procesamiento y la generación de señales motoras son procesos altamente paralelos y de muy baja frecuencia. • El cerebro solo se encarga de generar predicciones de movimiento y efectuar control feedforward. • Las células musculares solas pueden oscilar: comportamiento miogénico. • Las células de mismo tipo al conectarse oscilan coordinadamente: comportamiento electrotónico. • Es un modelo probabilı́stico: es más efectivo ensayar y errar muchas veces en un tiempo pequeño, que el modelado exacto durante un largo perı́odo de tiempo. Existen algunos casos donde las caracterı́sticas de generación automática de movimientos coordinados de un grupo de músculos es evidente, como los procesos de digestión, latido del corazón, respiración. Todos ellos son posibles sin la necesidad de intervención directa de una unidad de procesamiento compleja como lo es el cerebro. Si se observa el proceso de locomoción con patas, se aprecia su naturaleza oscilatoria. Ello ha hecho 22 pensar la existencia de una estructura semejante a la antes descrita donde buena parte del proceso de generación de trayectorias y control de las mismas se efectúe de manera local. En lo que respecta a la estructura fı́sica dentro de los animales encargada del proceso de coordinación de la locomoción, se han identificado al arreglo de neuronas transmisoras y elementos neuromotores (conexión entre neuronas y músculos) como el componente de mayor importancia. Debido a la disposición de las mismas como un sistema interconectado hace que se les identifique como redes neuronales. Uno de los primeros y más difundidos modelos descriptivos de la fisiologı́a de las neuronas en animales es el propuesto por Hodgkin-Huxley [24]. 3.2 Modelo descriptivo de Hodgkin-Huxley Hodgkin y Huxley realizaron experimentos con neuronas gigantes de calamares e identificaron la presencia de tres tipos principales de corrientes iónicas: Sodio, Potasio y una corriente de fuga que consiste principalmente en iones de Cloro. El flujo de tales iones a través de la membrana celular es controlada por voltaje de manera independiente para cada canal. Figura 3.1: Diagrama esquemático del modelo Hodgkin-Huxley En la Figura 3.2 se muestra el esquemático equivalente para el modelo. El capacitor 23 C representa a la membrana celular semipermeable. Dado el transporte activo de iones a través de la membrana celular, existe una diferencia en la concentración de iones dentro y fuera de la célula. El potencial de Nernst 1 se representa por una baterı́a. Planteando las ecuaciones correspondientes a la ley de conservación de la carga para una sección de la membrana celular, nos queda que la corriente I(t) se separa en una corriente que carga a C y otro componente Ik que se distribuye entre los canales iónicos. Por lo tanto: I(t) = Ic (t) + Ik (t) (3.1) k En el modelo estándar de Hodgkin-Huxley solo existen 3 tipos de canales iónicos: un canal de sodio (Na), un canal de potasio (K) y un canal de fuga denotado como una resistencia R. Utilizando la definición de corriente para un capacitor, Ic puede ser escrita de la forma: C du = I(t) − Ik (t) dt k (3.2) Como se señaló antes, el modelo Hodgkin-Huxley describe tres tipos de canales, los cuales pueden ser representados por su resistencia o por su conductancia. El canal de fuga es descrito por una conductancia independiente del voltaje gL = 1 ; R la conductancia de los demás canales iónicos son dependiente del voltaje de la membrana celular y del tiempo. La máxima corriente que puede circular por los canales K y N a ocurren con los valores máximos de conductancia gK y gN a , respectivamente. Sin embargo existe una probabilidad de que algunos de los canales estén bloqueados. La probabilidad de bloqueo de cada canal se describe con tres variables extras m, n y h. La acción conjunta de m y n controla al canal N a+ y la variable h lo hace con el canal de K + . El modelo especı́fico propuesto por Hodgkin-Huxley para los tres canales es: 1 Es el nivel de potencial a través de la membrana celular que se opone exactamente a la difusión de un ion en particular a través de dicha membrana. 24 Ik = gN a m3 h(u − EN a ) + gK n4 (u − EK ) + gL (u − EL ) (3.3) Los términos EN a y EK son los potenciales inversos, los cuales junto con las conductancias son valores empı́ricos. Los valores inicialmente reportados por Hodgkin-Huxley se muestran en la Tabla 3.1 Las variables m, n y h evolucionan de acuerdo a las siguientes x Ex Na 115 mV K -12 mV L 10.6 mV gx 120 mS/cm2 36 mS/cm2 0.3 mS/cm2 Tabla 3.1: Parámetros del Modelo Hodgkin-Huxley ecuaciones diferenciales ṁ = αm (u)(1 − m) − βm (u)m ṅ = αn (u)(1 − n) − βn (u)n ḣ = αh (u)(1 − h) − βh (u)h (3.4) donde las funciones que describen a α y a β que se muestran en la tabla 3.2, son funciones empı́ricas en función del potencial eléctrico u para ajustarse a los datos experimentales del axón gigante del calamar. Las tres ecuaciones 3.4 pueden ser reescritas de la siguiente forma ẋ = − x n m h 1 (x − x0 (u)) τx (u) αx (u/mV) βx (u/mV) 1−0,1u (0,1 − 0,01u)/(e − 1) 0,125e−u/80 2,5 − 0,1u/(e2,5−0,1u − 1) 4e−u/18 0,07e−u/20 1/(e3−0,1u + 1) Tabla 3.2: (3.5) 25 donde x corresponde a m, n o h. Para un valor fijo de voltaje u, la variable x converge eventualmente al valor de x0 (u) con una constante de tiempo τx (u). Los valores de x0 (u) y τx (u) pueden ser despejados de las ecuaciones 3.4. En la Figura 3.2 se muestran las gráficas de las funciones x0 (u) y τx (u) utilizando los valores empı́ricos de HodgkinHuxley Figura 3.2: Función de equilibrio X0 (u) y Constante de tiempo τ (u) en modelo HodgkinHuxley 3.2.1 Dinámica del modelo Hodgkin-Huxley Aquı́ se mencionan los aspectos más relevantes de la dinámica del modelo de Hodgkin-Huxley. En la Figura 3.2 se observa que conforme aumenta el potencial u, se incrementan m y n a la vez que h disminuye. Por lo tanto, si alguna señal externa provoca un aumento en el voltaje de la membrana celular, la conductancia del canal de sodio aumenta debido al incremento de m. Como consecuencia, aumenta el flujo de iones de sodio hacia el interior de la célula incrementando aun más el potencial interno. Si esta realimentación positiva es lo suficientemente grande se inicia un potencial de acción. Como ejemplo de esta situación tenemos el caso de generación de un pulso cuando el modelo es excitado con una corriente externa I durante un tiempo breve. En la Figura 3.2.1 se muestra el pulso generado para una entrada excitatoria aplicada en justo t < 0. 26 El potencial de la membrana celular u(t) se incrementa progresivamente producto de la realimentación positiva hasta que alcanza un voltaje de umbral, punto a partir del cual la salida colapsa durante un periodo de establecimiento y asintóticamente converge a un nivel de voltaje estable. Esto define el kernel η(t) del modelo . Figura 3.3: Respuesta temporal del potencial u(t) ante entrada impulsiva Otro tipo de comportamiento observado para este modelo, es que si se mantiene una entrada de corriente constante mayor a un valor de umbral, a la salida del sistema se observa un tren de pulsos a una tasa de repetición τs constante. Cuando se excita el modelo con dos pulsos consecutivos de corriente de igual magnitud, existe un periodo mı́nimo de separación tgap , debajo del cual la salida obtenida es un solo pulso en lugar de dos. Éste fenómeno de enmascaramiento temporal se debe principalmente a que justo después del primer pico de salida, los canales de iones están todos abiertos por lo que la resistencia de la membrana es mucho menor que en el caso de reposo y la corriente que circula es máxima. Ésto causa una hiper polarización en el potencial de la membrana, provocando que el umbral de disparo sea mucho mayor que en reposo. Actualmente existen distintos modelos de neuronas que realizan una descripción de las neuronas biológicas funcionalmente equivalente al propuesto inicialmente por HodgkinHuxley. Un modelo que se presenta como una extensión lógica del original son las Spiking Neural Networks (SNN). Otro tipo de implementación dinámicamente equivalente, el cual mantiene el enfoque de representación de las neuronas como integradores con fuga y posee 27 variables de constantes de tiempo asociadas a la permitividad de la membrana célula, son las redes recurrentes de tiempo continuo conocidas como CTRNNs, cuyo uso ha sido popularizado gracias al trabajo de Chiel-Beer [15][16]. Se han realizado estudios sobre la dinámica del modelo de Hodgkin-Huxley en el campo de la matemática de sistemas dinámicos, hasta utilizando métodos de análisis propios de teorı́a de caos. Sin embargo este tipo de consideraciones escapan a los objetivos del presente trabajo. 3.3 CPG: Central Pattern Generator Para el acto de caminar, saltar o correr los animales requieren de la activación progresiva y coordinada de grupos de músculos. Existen dos modelos iniciales propuestos por los neurofisiólogos que trataban de describir de manera intuitiva como el sistema nervioso lograba controlar alternadamente la contracción de los músculos extensores y flexores. En uno de los modelos se sugerı́a que los receptores de los sensores monitoreaban continuamente el estado de las articulaciones, activando reflejos en momentos especı́ficos para ası́ lograr el movimiento deseado. En el otro caso se sugiere la existencia de un sistema o circuito oscilador en la espina dorsal o en el ganglio central que provee de las señales de temporización esenciales para la activación de los músculos consiguiendo ası́ el movimiento repetitivo deseado (Marder2001[25][26]). El primer mecanismo se denomina cadena de reflejos y el último generador central de patrones (CPG). Actualmente se define como CPG a un circuito capaz de producir patrones motores rı́tmicos en ausencia de estı́mulo externo, bien sea proveniente de una entrada sensorial o de una señal descendente de algún sistema de control superior. Es decir, un CPG está presente cuando la existencia de un comportamiento rı́tmico no depende de los centros periféricos o centrales del animal, aunque las señales de tales centros alteren los patrones motores producidos por el CPG. Existen varios trabajos que estudian el efecto de la realimentación de los sistemas periféricos, al modular la respuesta del generador central de patrones 28 [6][11][27][28]. La existencia de circuitos generadores centrales de patrones fue demostrada a través de experimentos que mostraban que movimientos rı́tmicos eran producidos aún después de que la realimentación proveniente de las piernas era removida. Este tipo de patrón motor se denomina ficticio puesto que no genera ningún movimiento, pero si se conectase la salida del circuito del CPG a las neuronas motoras, su efecto serı́a el de movimiento rı́tmico. Se han identificado dos estrategias para la generación de comportamientos rı́tmicos en las neuronas. Algunos de estos comportamientos son manejados por neuronas que son osciladores, y actúan como marcapasos. Este tipo de neuronas son similares a las presentes en el corazón, y tienen una combinación especı́fica de canales de iones dependientes de voltaje, que causa que se disparen rı́tmicamente en ausencia de señal de excitación externa. Dicho comportamiento se puede asociar a uno de naturaleza miogénica. La dinámica del comportamiento básico es semejante a la descrita para el modelo de neuronas de HodgkinHuxley, con la importante salvedad de que este último requiere de una señal de activación externa para la generación de una salida rı́tmica. Otro tipo de comportamiento rı́tmico resulta de la interacción sináptica entre neuronas que no son rı́tmicamente activas, tal como ocurre en las células con comportamiento electrotónico. En este caso los ritmos son considerados como un comportamiento emergente del circuito, resultante de las propiedades individuales de las neuronas y de las interacciones entre las neuronas presentes en el circuito. En ambos casos la temporización especı́fica de los elementos del circuito es consecuencia de la conexión sináptica de las neuronas. Todos los circuitos generadores de patrones están sujetos a la modulación mediante neurotransmisores y hormonas, que pueden alterar la frecuencia y la intensidad de los patrones motores producidos al actuar sobre un subgrupo especı́fico de neuronas del circuito CPG. Este fenómeno de neuromodulación juega un rol importante en el proceso de 29 adaptación de los patrones básicos de locomoción a las diferentes condiciones bajo la cual se desenvuelve el organismo. Por ejemplo, de esta manera es posible modificar el modo de caminado a fin poder lidiar con las irregularidades del terreno, o también obtener ritmos motores que no están preprogramados en el sistema neuronal, como serı́an bailar o escalar. Las caracterı́sticas antes descritas para el CPG destacan la importancia de dos aspectos fundamentales en el proceso de generación de señales de control durante la locomoción con patas. Primero está la generación independiente de señales oscilatorias, las cuales controlan a los actuadores a fin de obtener un movimiento preprogramado. Dado esto, resulta evidente el uso de sistemas naturalmente oscilatorios en el modelado del sistema de locomoción. Por otra parte, se tiene la descripción del fenómeno de neuromodulación del comportamiento del CPG, producto de señales provenientes del sistema sensorial de realimentación o del sistema nervioso superior de control. Cualquier implementación del sistema de caminado en robots, debe tomar en cuenta la inclusión de una fase de modulación tanto de la frecuencia como de la amplitud de la salida natural del CPG, lo cual le da plasticidad suficiente al sistema de caminado para efectuar acciones correctivas asociadas a un sistema externo de control. 30 Análisis comparativo de modelos de CPG En el presente capı́tulo se efectúa una análisis comparativo entre los distintos enfoques utilizados por varios autores en el modelado de CPG para locomoción en robots con patas. Se detallan las distintas arquitecturas estudiadas, a la vez que se identifican que caracterı́sticas propias de los sistemas biológicos son incorporadas en los modelos. Se analizan las metodologı́as descritas por los autores de tales modelos de CPG en locomoción de robots. Empleando tales metodologı́as se efectúan pruebas de simulación y se analizan los resultados obtenidos. Partiendo de ello se identifican las ventajas y desventajas relativas de cada alternativa para la sı́ntesis de un modelo de caminado en robots cuadrúpedos. El primer modelo estudiado es el propuesto por Chiel y Beer [15][16], donde se menciona el uso de redes neuronales recurrentes para replicar la naturaleza oscilatoria del CPG. En el estudio del modelo de osciladores acoplados, denominado ACPO y descrito por J. Buchli y A. J. Ijspeert en [18], se identifica un enfoque más analı́tico de la dinámica del sistema oscilador, a la vez que se detallan las ventajas para el control de transición entre diferentes movimientos rı́tmicos preprogramados. Por último se estudia el concepto de Dynamic Neural Networks, descrito en el trabajo de P. Zegers [29][30], que incorpora la idea de neuromodulación descrita en el capı́tulo anterior. 31 4.1 Modelo de Chiel-Beer usando CTRNN En el trabajo realizado por Chiel y Beer, se hace uso de las redes neuronales recurrentes en tiempo continuo, mejor conocidas como CTRNN por siglas en inglés (Continuous Recurrent Neural Networks). Estas redes neuronales se basan en nodos básicos o neuronas cuya función de estado se encuentra descrita por la Ecuación 4.1: τi ẏi = −yi + M wji σ(yj + θj ) + Ii , i = 1, · · · , M (4.1) j=i En la Ecuación 4.1 se tiene que yi ∈ es la salida de la neurona i-ésima. La constante de tiempo asociada a la permitividad de la membrana celular se representa como τ ∈ , mientras que los pesos de las conexiones sinápticas entre las neuronas de la red están representados por wij ∈ . La variable θj corresponde al punto de operación de cada nodo. El término Ii es la entrada externa al sistema, que se mantiene en cero cuando se desea obtener la respuesta natural del sistema. La función kernel de transferencia de cada neurona es la sigmoide logı́stica estándar: σ(x) = 1 1 + e−x (4.2) Existen varios aspectos importantes de este modelo particular de redes neuronales. Los autores argumentan que posee una explicación plausible desde el punto de vista biológico, ya que el estado de la neurona y se puede asociar al potencial eléctrico de la membrana de la neurona, tal como ocurre en el modelo Hodgkin-Huxley. La función σ(x) representa un promedio de corto plazo de la frecuencia de disparo de la neurona, y el peso de autoconexión wii se puede interpretar como una conductancia activa no lineal. Desde el punto de vista matemático, se puede considerar que la Ecuación 4.1 describe la evolución 32 temporal de la variable de estado y de la neurona i-ésima. Ahora bien, el estado total del sistema con N nodos queda descrito por el vector de estado Ysis , con una función de transición de estados F (Y, I) no lineal, como se muestra en la Ecuación 4.3. Y = [y1 , y2 , y3 , · · · yN −1 ]T (4.3) Ẏ = F (Y, I) Los esquemas de conexión de las neuronas en redes de este tipo suelen ser con un alto número de interconexiones bidireccionales entre los nodos. Debido a que se necesita al menos una señal de referencia de ángulo por cada uno de los motores en un robot con patas de 3 GDL, las CTRNN que pueden revestir cierto interés son aquellas que tienen en su estructura como mı́nimo 3 nodos. También son útiles aquellas con mas neuronas, bastando con emplear un subespacio del vector de salida quedando un total de N − 3 neuronas sin salida directa, pero que incrementan el orden del sistema. En la Figura 4.1 se muestran varios ejemplos de CTRNN: Figura 4.1: Ejemplos de CTRNN interconectadas 33 4.1.1 Arquitectura de CPG basado CTRNN La arquitectura descrita a continuación corresponde a un esquema de interconexión completa entre todos los nodos, lo cual incluye todas las posibles arquitecturas de tamaño N . Este tipo de redes continuas no son tan costosas desde el punto de vista computacional. A pesar de su aparente simplicidad, se ha demostrado que las CTRNN se pueden utilizar como aproximadores universales de sistemas dinámicos[31]. El número total de parámetros requeridos para describir una red totalmente interconectada con N elementos son N 2 + 2N . En [15][16], los autores describen el uso de algoritmos genéticos para la sı́ntesis de dichos parámetros, en redes neuronales con un total de 3, 4 y 5 neuronas las cuales posteriormente analizaron a fin de identificar la presencia de módulos dinámicos básicos para comportamientos oscilatorios. El modelo de cuerpo empleado es de tipo insecto, donde se analiza el movimiento de una sola pata para el proceso de locomoción. La pata es controlada por tres efectores, uno especifica el estado de la pata y los otros dos trabajan de manera antagónica e indican el torque de giro de la pata. Esto da como resultado que la red neuronal tenga un mı́nimo de 3 neuronas para modelar el CPG correspondiente a dicha estructura mecánica. En la Figura 4.2 se muestra el modelo mecánico utilizado, ası́ como la arquitectura de la red de 3 nodos totalmente interconectada. Figura 4.2: Arquitectura de CPG basada en CTRNNs 34 La neurona FT (Foot) controla el posicionamiento vertical de la pata. Cuando FT es mayor a 0.5 la pata se encuentra apoyada sobre el piso, y se levanta en el caso contrario. Las otras dos neuronas motoras son BS (Backward Swing) y FS (Forward Swing). Cuando el pie está arriba, las salidas de BS y FS escalan los torques máximos torques de la pata; cuando el pie esta apoyado, estas salidas escalan la máxima fuerza del pie aplicada al cuerpo. La desventaja del enfoque descrito en el trabajo de Chiel y Beer, está en que no se toma en consideración la existencia de conexiones entre los distintos CPG que controlan a cada una de las patas, de manera tal que se coordinen los movimientos de las mismas y ası́ obtener un caminado controlado. 4.1.2 Metodologı́a para sı́ntesis de CPGs utilizando CTRNN A fin de modelar un CPG para locomoción en robots es necesario obtener un sistema cuya salida posea ciertas caracterı́sticas espaciales y temporales. Para la arquitectura descrita previamente, Chiel y Beer obtuvieron mediante AGs un conjunto de soluciones válidas para su modelo de cuerpo con una pata simple. En la Ecuación 4.1 se tiene la transición de estados, donde el gradiente del estado de cada neurona viene dado en función de los estados de toda la red y de las entradas externas. Todo el análisis aquı́ descrito se basa en la respuesta natural del sistema, es decir para una entrada externa nula. La resolución numérica de las ecuaciones diferenciales se realizó utilizando el método de Euler con un paso igual a 0,1. A fin de validar la implementación del modelo de red CTRNN empleada en el presente trabajo, se procedió a replicar los resultados obtenidos por Chiel y Beer para la red con 3 nodos. En la Figura 4.3 están graficadas las formas de ondas de los estados de las neuronas, con los valores de τ , wii y θ citados en [15][16]. Éstos parámetros se muestran en la Tabla 4.1, y corresponden a la mejor solución sintetizada mediante algoritmos genéticos en los dos trabajos previamente enumerados. 35 FT FS BS Tau(τ ) 7.2777 2.3042 2.9261 Bias (θ) -9.5733 12.3221 -7.0150 ωF T → -3.209000 -12.919000 6.167400 ωF S → 15.546400 -12.697000 13.606400 ωBS → 11.594100 1.562800 -3.227800 Tabla 4.1: Valores de parámetros para CTRNN Figura 4.3: Salidas de CTRNN de Chiel-Beer. Euler = 0.1 En la Figura 4.3 se observa la evolución temporal del sistema con señales de entrada iguales a cero (Ii = 0) para todos los nodos, y que parte de condiciones iniciales de reposo. El sistema va convergiendo progresivamente a una respuesta con comportamiento oscilatorio sostenido. Este tipo de análisis permite identificar la respuesta del sistema ante una condición inicial dada, pero resulta necesario ampliar el estudio de la red a fin de caracterizar su respuesta ante distintas condiciones iniciales. Se tiene que debido a la naturaleza continua de la ecuación que rige la evolución temporal de los estados en cada neurona, siempre estará definido el campo de velocidad o gradiente de estado asociado a cualquier estado de la red. Partiendo de ésto, a continuación se introduce el uso de la visualización en un plano del gradiente de estados, sobre el cual se superponen las distintas trayectorias resultantes para diferentes condiciones iniciales. 36 Como el sistema completo posee 3 nodos, por lo cual su espacio de salida es tridimensional, las gráficas obtenidas se pueden interpretar como proyecciones en un plano de las trayectorias tridimensionales. Dicho plano se construye sobre un espacio de salida dado por 2 de los 3 nodos de la red completa. Figura 4.4: Vista 2D de salida de CTRNN de 3 nodos En la Figura 4.4 se muestra la evolución espacial de los estados del sistema descrito por los parámetros mostrados en la Tabla 4.1 para distintas condiciones iniciales. El plano de proyección corresponde a las salidas de las neuronas FT y BS. Se puede apreciar que el sistema eventualmente cae dentro de un ciclo lı́mite fijo, el cual está directamente asociado al comportamiento oscilatorio ilustrado en la Figura 4.3. Estudios previos sobre la dinámica de sistemas implementados mediante CTRNN señalan que los mismos exhiben diferentes tipos de comportamientos. En el caso especı́fico de una red con 3 nodos, se tiene que el sistema completo puede ser de naturaleza estable u oscilatoria; esta clasificación se basa en la eventual convergencia del sistema a un punto de equilibrio o a un ciclo oscilatorio respectivamente. Las configuraciones estables pueden ser de dos tipos a su vez: monoestable o biestable; el fenómeno en el cual la naturaleza de un nodo pasa de ser monoestable a biestable se denomina bifurcación. La bifurcación puede obtenerse controlando las entradas 37 al mismo. Éste tipo de representación se puede ampliar hacia sistemas con mayor numero de neuronas, obteniéndose una proyección de la trayectoria en un espacio N-dimensional sobre un plano arbitrario. Los resultados que se muestran a continuación corresponden a de trayectorias de redes con 3 neuronas, sobre el plano descrito por los vectores de salida de las neuronas 1 y 2. Los puntos correspondientes a las condiciones iniciales se obtuvieron de un arreglo equiespaciado de valores en el rango de −20 hasta 20, con saltos de 4 para las neuronas 1 y 2, manteniendo en cero (0) el valor de la neurona 3. Los parámetros de la red se obtuvieron de manera empı́rica, ya que las redes ası́ sintetizadas son empleadas con fines ilustrativos. La simulación de la red se efectuó utilizando la técnica de Euler, con un paso de iteración igual a 0,1. Para las gráficas de intensidad de campo, se calcula el módulo del vector gradiente en el plano de visualización. Figura 4.5: Vista 3D de campo atractor. Configuración monoestable En la configuración monoestable, se puede identificar mediante inspección directa de las Figuras 4.5 y 4.6, el estado de equilibrio final del sistema al cual converge independientemente del estado inicial; situación semejante ocurre al observar la gráfica de intensidad del campo (Figura 4.7). Sin embargo este tipo de configuración reviste poco interés para la generación de comportamientos rı́tmicos que puedan resultar útiles en locomoción de robots con patas. Podrı́an ser utilizados en esquemas de control donde se desee 38 Figura 4.6: Vista 2D de campo atractor. Configuración monoestable Figura 4.7: Intensidad de campo atractor. Configuración monoestable 39 bloquear algunos de los actuadores en particular, o hacer que el sistema sea monoestable pero al modificar las entradas del mismo se produzca una bifurcación volviéndolo biestable o inclusive oscilatorio. Figura 4.8: Vista 3D de campo atractor. Configuración biestable Para la configuración tipo biestable, las gráficas del campo atractor ofrecen información inmediata sobre los dos estados finales de equilibrio del sistema (Figura 4.8 y 4.9). En la gráfica de intensidad del campo (Figura 4.10) se pueden identificar posibles regiones de equilibrio las cuales corresponden a las áreas con valores mı́nimos de gradiente en el plano; pero no es posible extraer de manera directa información alguna sobre las trayectorias que recorren los estados del sistema antes de converger a los puntos estables. Cabe señalar que esta imprecisión en la determinación de los estados de equilibrio mediante el gráfico de intensidad es consecuencia de que el mismo es una representación en un espacio de dimensión inferior a la de salida del sistema. El comportamiento que encierra mayor importancia en la sı́ntesis de generadores de caminado mediante el uso de CTRNN es la de tipo oscilatoria. En las Figuras 4.11 y 4.12 es posible identificar el ciclo lı́mite al cual converge eventualmente el sistema. Para la gráfica de intensidad mostrada en la Figura 4.13 no resulta directa la identificación de dicho ciclo lı́mite. Un fenómeno observable en la Figura 4.11, es que dependiendo del estado del cual parta el sistema, la fase final de la señal oscilatoria variará. 40 Figura 4.9: Vista 2D de campo atractor. Configuración biestable Figura 4.10: Intensidad de campo atractor. Configuración biestable 41 Figura 4.11: Vista 3D de campo atractor. Configuración oscilador Figura 4.12: Vista 2D de campo atractor. Configuración oscilador 42 Figura 4.13: Intensidad de campo atractor. Configuración oscilador El fenómeno de desfase dependiente del punto inicial representa un problema importante al momento de sintetizar distintos modos de caminados, ya que la locomoción del robot no depende solamente de las referencias espaciales de los actuadores de cada pata, sino también de la relación temporal entre dichas señales de referencia. En la Figura 4.14 se muestran las salidas del CTRNN oscilador en función del tiempo, para distintos estados iniciales; distinguiéndose la diferencia en la fase de las señales una vez se establece la oscilación. Figura 4.14: Desfases para distintos estados iniciales en configuración oscilador Varios autores han utilizados enfoques propios de análisis de sistemas dinámicos, 43 donde consideran a cada CPG individual como un módulo dinámico y tratan de caracterizar las variaciones de la dinámica del sistema ante perturbaciones externas [15]. Sin embargo las técnicas de sı́ntesis de los parámetros de CPG implementados con CTRNN no están lo suficientemente desarrolladas, y resultan aun computacionalmente costosas como para considerar este esquema como primera opción en el modelado de máquinas caminantes complejas como cuadrúpedos con 3 GDL [30][32][33][34]. Metodologı́a para sı́ntesis de CTRNN mediante el uso de AGs En el presente trabajo también se evaluó el uso de algoritmos genéticos como técnica de sı́ntesis de los parámetros de CPG modelados con redes recurrentes[35][36][37][38]. Varios autores han implementado distintas variantes en el uso de esta técnica para la obtención de patrones rı́tmicos en CTRNNs. Las pruebas con AGs aquı́ descritas se orientan a identificar la posibilidad de sı́ntesis de redes recurrentes útiles en locomoción de robots con patas. Las redes neuronales sintetizadas poseen 3 neuronas. Todos los parámetros de las mismas fueron codificadas en una sola solución asociada a un cromosoma dentro del algoritmo genético. Esto se hizo ya que el comportamiento que se desea estudiar es de la red completa y no de cada nodo individual. A continuación se mencionan las caracterı́sticas principales del esquema de algoritmos genéticos implementado en el presente trabajo: • El método de selección de individuos fue por torneo, en el cual se escogen dos pares de individuos de manera equiprobable dentro de toda la población. • El operador de cruce entre cromosomas/soluciones fue aplicado utilizando un número finito de puntos de cruces (8), en puntos seleccionados de manera aleatoria con función de probabilidad uniforme. • El número total de cromosomas/soluciones utilizadas en cada población varió entre 44 12 y 30. • Se aplicó el operador de mutación a una tasa constante de 10 %. • Se utilizó codificación directa de todos los parámetros de una red CTRNN con 3 nodos. La codificación de cada dato se hizo de manera lineal sobre 16 bits del cromosoma por parámetro, con un valor absoluto menor a 15. • Se aplicó elitismo en la creación de cada nueva generación, al mantener las dos mejores soluciones de la generación anterior. • La función de fitness fue construida a fin de tomar en cuenta de manera ponderada el error existente entre los valores deseados y obtenidos para distintas caracterı́sticas de las formas de ondas resultantes de la red CTRNN. Las razones para la selección de este esquema está en la simplicidad del mismo. No se consideraron esquemas de modificación dinámica de la tasa de mutación, tamaño de población, número de cruces, etc. Se evaluó de manera empı́rica el desempeño del algoritmo para sintetizar soluciones satisfactorias para la función de fitness deseada, en función del número de individuos en cada población y la tasa de mutación. Tras efectuar un proceso previo de sintonización, se procedió a la sı́ntesis final de CTRNN soluciones con los parámetros del AG fijos. En lo que respecta a la función de fitness, se procedió a evaluar las formas de onda de salida del sistema CTRNN. Para ello se simuló la red recurrente, utilizando Euler = 0,1 para la resolución de la ecuación diferencial de estado de cada nodo (yi ). A fin de tomar en cuenta solamente la respuesta natural del sistema, se hizo cero las entradas Ii , ası́ como se ignoraron los primeros 1000 puntos del vector de salida de la simulación de la red. Este número de puntos fue seleccionado ya que es lo suficientemente alto como para que la respuesta del sistema a partir del mismo corresponda a régimen permanente, no hay interés en la respuesta transitoria. Los parámetros de evaluación calculados sobre cada vector de salida fueron los siguientes: 45 • Valor máximo de amplitud de la señal (MAX). • Valor mı́nimo de amplitud de la señal (MIN). • Promedio de la señal (PRO). • Frecuencia relativa (FR). Para el cálculo de F R se procedió a contar el número de cruces por cero del vector diferencia entre la salida de cada nodo y su promedio, y luego se divide entre el numero total de puntos en el vector. Luego del cálculo de los valores antes citados para cada nodo de la red, se procedió a asignar la ponderación correspondiente de la siguiente manera: Ppro,max,min,f rec ref erencia − valor = 1 − valor (4.4) y el puntaje final asociado a cada cromosoma está dado por: Pcromosoma = αpro .Ppro + αmax .Pmax + αmin .Pmin + αf rec .Pf rec (4.5) Mediante la variación de α para cada parámetro, es posible forzar la sı́ntesis de soluciones que cumplan algún requisito particular en la forma de onda de salida, ya que la función de fitness dependerá en mayor o menor medida de dicho parámetro. Resultados para CTRNN sintetizadas por AGs A continuación se muestran las diferentes CTRNN sintetizadas mediante el uso de algoritmos genéticos descritos previamente. Se efectuaron pruebas para la obtención de redes con comportamientos estables y también para redes con respuesta oscilatoria sostenida. 46 En el primer caso se procedió a la obtención de redes cuyo estado estacionario convergiera a una constante dada. Para ello se hicieron cero Pmax , Pmin y Pf rec , y se colocó Ppro en 1. De esta manera el fitness dependı́a en función del error en el valor promedio (PRO) del vector de salida de las neuronas. Nótese que al omitir los primeros 1000 puntos del vector de simulación permitı́a estudiar la respuesta permanente, pero no se tiene control sobre la respuesta transitoria del sistema. En la Tabla 4.2 se muestran los distintos valores de referencia establecidos al momentos de sintetizar la redes, ası́ como los valores del promedio obtenido para las salidas de las redes. Los valores de referencia ahı́ indicados corresponden a las referencias de salida para los 3 nodos de la red, es decir que las tres neuronas debı́an converger a un mismo valor en la salida. Las soluciones abajo señaladas fueron las redes con mejor fitness obtenidas de 10 soluciones para cada caso, para un número máximo de 300 iteraciones por solución. Ypro deseado Ypro obtenido Error(prom) ( %) Núm. de iter. -4 -3.9733 0.5666 93 -2 1.9333 0.3133 110 +2 2.0817 4.0186 149 +4 3.9897 0.2575 37 Tabla 4.2: Salidas de CTRNN sintetizadas con AGs para salidas constantes En los casos identificados en la Tabla 4.2 se puede apreciar que las soluciones obtenidas exhiben un bajo nivel de error en la salida, aún para un número de iteraciones también bajo ( máximo de 149 ). Se considera posible la sı́ntesis de soluciones aún mejores con un mayor número de iteraciones, esto debido principalmente a la simplicidad del problema planteado. Con la finalidad de extender las pruebas a redes cuya salida sea cualquier punto en el espacio de dimensión N = 3 cercano al origen, se procedió a sintetizar CTRNNs cuyas salidas en cada nodo fuesen diferentes. A continuación se muestran algunos resultados obtenidos a tı́tulo ilustrativo, siguiendo la misma metodologı́a descrita para la prueba previa, con la diferencia de que el número máximo de iteraciones es igual a 1000. En la Tabla 4.3 se observa que fue posible obtener dos soluciones con un error porcentual bastante bajo (1.8241 % y 0.2089 %). Sin embargo, la solución obtenida para la 47 Ypro deseado [ 6 2 -5] [-4 -1 7] [11 -8 1] Ypro obtenido Error(prom) ( %) [6.0092 2.1031 -5.0082] 1,8241 [-5.0700 -2.1073 7.5778] 48,578 [11.0548 -8.0039 1.0008] 0,2089 Núm. de iter. 988 1000+ 369 Tabla 4.3: Salidas de CTRNN sintetizadas con AGs para salidas constantes varias salida de referencia Ydeseado = [−4, −1, 7]T exhibe un error porcentual considerablemente alto (48.578 %); este error se debe casi exclusivamente a la diferencia en la respuesta para el segundo elemento del vector donde la referencia es de -1 y el valor sintetizado es -2.1073. El error porcentual del mismo es muy alto, pero el error absoluto es relativamente bajo. Los resultados exhibidos en las Tablas 4.2 y 4.3 pueden dar pie a pensar que con un debido ajuste de los parámetros del algoritmo genético, en particular la tasa de mutación y el numero de iteraciones, es posible obtener soluciones para condiciones especı́ficas en salidas constantes. Durante las pruebas de sı́ntesis con ésta técnica se observó un fenómeno que hace esta última opción poco útil: existe la posibilidad de que una señal de naturaleza oscilatoria tenga el mismo valor de promedio (P RO) que se desea para un vector de salida constante. Esto se puede apreciar en la solución correspondiente al vector objetivo Ydeseado = [−4, −1, 7]T de la Tabla 4.3, cuya gráfica de la salida de la red neural en función del tiempo se muestra en la Figura 4.15. Variando los valores de α, fue posible modificar la función de fitness a fin de obtener soluciones que cumplieran con otras caracterı́sticas en las formas de ondas de salida, en especı́fico para la amplitud máxima y mı́nima. En las Tabla 4.4 y la Tabla 4.5 se muestran los resultados obtenidos tras aplicar AGs con presión selectiva hacia el valor de M AX y M IN respectivamente. Se entiende presión selectiva el hacer cero las constantes α para los parámetros que no se desean controlar, y haciendo uno el valor de α para las variables objetivo M AX y M IN en cada caso. En las Tablas 4.4 y 4.5 se observa nuevamente que la técnica de algoritmos genéticos puede sintetizar CTRNN con parámetros simples en las formas de salida. Sin embargo, 48 Figura 4.15: Solución oscilatoria para P ROobjetivo = [−4, −1, 7]T Ymax deseado Ymax obtenido Error(prom) ( %) Núm. de iter. -4 -4.0182 0.455 86 -2 -2.0669 3.346 270 2 1.9644 1.780 110 4 3.9520 1.198 150 Tabla 4.4: CTRNNs sintetizadas por AGs para valores de M AX dados no todos los casos convergen a soluciones satisfactorias con bajos niveles de error, como se observa en la primera fila de la Tabla 4.5. Esta incertidumbre en la convergencia se deriva de la naturaleza aleatoria en la generación de las soluciones iniciales del algoritmo genético. A fin de evaluar esta técnica en la obtención de soluciones más complejas, que puedan resultar útiles en locomoción con patas, se efectuaron pruebas donde se establecı́an valores deseados para M AX, M IN , P RO y F R, y se hizo αmax , αmin ,αpro y αf r iguales a 1. Los valores de referencia de cada uno de estos parámetros se obtuvieron al aplicar el mismo análisis de amplitud a señales de referencia propias de modos de caminados 49 Ymin deseado Ymin obtenido -3 -2.661 -1 -0.990 1 1.343 3 3.005 Error(prom) ( %) Núm. de iter. 11.294 84 -0.920 64 34.30 77 0.19 54 Tabla 4.5: CTRNNs sintetizadas por AGs para valores de M IN dados representados mediante el modelo geométrico estándar. Las señales de referencia en el espacio cartesiano fueron convertidas al espacio de los actuadores mediante la cinemática inversa. El problema asociado a esta metodologı́a es que no se considera en ningún caso la relación temporal entre las señales, ya que el cálculo del fitness se basa solamente en parte de la información espacial. Esto conlleva a que algunas de las posibles soluciones obtenidas por AGs sean inoperantes en la práctica por discrepancias en las relaciones de fase. En las Figuras 4.16(a) y 4.16(b) se muestran las gráficas correspondientes a las formas de onda deseadas, y una solución obtenida por AGs mediante restricción de los valores de amplitud tras 3824 iteraciones de un máximo de 5000 iteraciones. Esta solución fue la mejor solución ( mayor fitness ) encontrada para un total de 10 soluciones obtenidas bajo las mismas condiciones. (a) Referencia (b) Sintetizada Figura 4.16: Formas de onda: (a) Referencia y (b) Sintetizada por AGs Nótese que el número de iteraciones es mucho mayor que en cualquier caso donde la función de fitness evaluaba solo un parámetro en particular; debiéndose ello al aumento de la complejidad del problema. Los resultados mostrados acerca del uso de AGs con análisis 50 de amplitud de la forma de onda apuntan a la necesidad de incluir mayor cantidad de parámetros en la evaluación de las señales de salida del sistema, a fin de utilizarlos en el cálculo del fitness de las soluciones. Tales tipos de parámetros deben abarcar información de la relación de fase entre cada nodo, aparte de la información espacial ya estudiada. Se propone para trabajos posteriores el uso de técnicas como medida de la correlación entre las señales obtenidas y las deseadas, puesto que incorpora información sobre la forma de onda, ası́ como la relación de fase. Existen trabajos en el cual se proponen técnicas para el entrenamiento de las redes recurrentes a fin de obtener una trayectoria dada. Aún con el uso de tales enfoques, permanece sin resolver la coordinación entre las patas del robot ası́ como tampoco se dispone de una herramienta analı́tica para caracterizar el comportamiento del sistema completo. Cabe destacar que el uso de sistemas dinámicos como el aquı́ descrito posee una ventaja en lo que respecta a transición de estados del sistema, ya que de manera explı́cita quedan definidas las referencias de velocidad y de posición de los actuadores, a la vez que se puede asegurar la convergencia del sistema a un comportamiento rı́tmico. 4.2 Modelo de Buchli utilizando ACPO En el presente trabajo también se estudió el modelado del sistema generador central de patrones basado en módulos de osciladores acoplados, descritos por J. Buchli y A. J. Ijspeert [19][39]. Partiendo del hecho de que el sistema de locomoción es un sistema oscilador por naturaleza, en los trabajos previamente citados se apunta al uso de un modelo matemático simple de un sistema oscilatorio a fin de controlar las articulaciones dentro de una pata: tal modelo es un oscilador no lineal. Posteriormente los osciladores de cada nodo son conectados a fin de obtener la coordinación entre las patas. Como base canónica de los osciladores no lineales se usan ACPOs (Amplitude Controlled Phase Oscillator). Esto permite la obtención de sistemas más simples de tratar analı́ticamente en comparación 51 con las redes recurrentes. 4.2.1 Modelo de osciladores acoplados A fin de comprender el funcionamiento de un sistema de osciladores no lineales acoplados, es necesario introducir el concepto de sistemas no lineales perturbados. Sea el vector de estado q = [q1 q2 ]T de un oscilador no lineal perturbado, el cual se rige por la ecuación de estado (Ec. 4.6): q̇ = F (q) + p (4.6) En la Ecuación 4.6 q̇ es la derivada del vector de estado q, el vector de perturbación externa es p y la función no lineal de variación de estado es F (q). En el sistema no perturbado (p = 0) el vector de estado debe converger a un atractor cı́clico para que corresponda a un oscilador, condición que viene dada directamente por la naturaleza de la función F (q). Siendo un sistema oscilador es posible aplicar una transformación del sistema de coordenadas, desde el plano cartesiano bidimensional descrito por x y y, hasta un sistema de coordenadas circulares en función del radio (r) y fase (θ). θ̇ = ω0 + pθ (4.7) ṙ = Fr (r, θ) + pr (4.8) Dentro de la Ecuación 4.8 ω0 es la frecuencia del oscilador sin perturbación, Fr es la función que define la evolución temporal de r, pθ es el componente tangencial de la perturbación (actúa sólo sobre la fase), y pr es el componente radial del vector de 52 perturbación. En la Figura 4.17 se muestran las componentes de perturbación sobre el oscilador en el plano de la trayectoria descrita por q. Para perturbaciones de baja amplitud, el efecto sobre la componente radial del oscilador eventualmente queda amortiguado. Para locomoción en robots con patas es relevante la relación de fase entre los osciladores, y por lo tanto se profundiza el análisis en la componente tangencial de la perturbación (pθ ). Figura 4.17: Representación de perturbación en oscilador no lineal Sean dos osciladores descritos por sus vectores de estado q1 y q2 , los mismo estarán acoplados cuando la fase de uno de ellos sea dada en función de la fase del otro (pθ,2 = f (q1 )), lo cual puede resultar en distintas dinámicas del sistema total, incluyendo caos. Es de particular interés la sincronización de los osciladores tal como se describe en el trabajo de Buchli[19]. Para ello se tiene que: θd = θ2 − θ1 ≈ const (4.9) 53 En [19] también se describe con detalle como predecir la evolución temporal de θd para un par dado de osciladores y su relación de acople. Se propone el modelo base de ACPO descrito por la Ecuación 4.10: T ro ro q̇ = g − 1 x − yω, g − 1 y − xω x2 + y 2 x2 + y 2 (4.10) Para la misma, el sistema posee un ciclo lı́mite descrito por un cı́rculo perfecto de radio ro y con una frecuencia natural ω. La variable g denota un factor de escala o ganancia que esta directamente asociado a la magnitud de los vectores gradientes definidos en cada punto del plano. Conforme aumenta esta variable, también lo hace la velocidad de convergencia del vector de estado q al ciclo lı́mite. En la Figura 4.18 se muestra el campo diferencial para un ACPO con ro = 1, g = 10 y ω = 2π, con diferentes trayectorias de estados para distintos puntos iniciales. Se introduce la siguiente notación: q̇ = FACP O (q), donde q = [x, y]T es el vector de estado del sistema. Figura 4.18: Ciclo lı́mite para ACPO con ro = 1, g = 10 y ω = 2π Definamos una matriz de rotación: 54 R= cos(θR ) − sin(θR ) sin(θR ) cos(θR ) (4.11) Y se introduce la siguiente notación: q1,r = Rq1 (4.12) El vector q1,r es un vector equivalente al vector q1 (θ1 ), con θ1 = θ1 + θr . Es decir, si se toma q1,r para perturbar al oscilador q2 el efecto es el mismo que si el primer oscilador estuviese en el estado θ1 . Se define como vector de perturbación p2 a: p2 = λPq1,r = λPRq1 (4.13) En la Ecuación 4.13 la variable λ representa el factor de acople de la perturbación, y P es la matriz de acople a través de la cual se puede definir cuales componentes del vector de perturbación afectan a los componentes del vector perturbado. Modelado de CPG basado en ACPO A fin de construir un CPG funcional para locomoción en cuadrúpedo, en [18] señalan el uso de una arquitectura totalmente interconectada de manera bidireccional para cuatro ACPO, uno por cada pata. La matriz de acople bidireccional entre cada par de ACPO se representa por: P= 1 0 0 1 (4.14) 55 De la Ecuación 4.14 se desprende que la componente x de un vector puede ser afectado de manera directa sólo por la componente x de los otros vectores, de igual manera ocurre con la componente y de los vectores. La arquitectura de conexión se observa en la Figura 4.19: Figura 4.19: Arquitectura de conexión para CPG con ACPO Esta arquitectura da como resultado que las ecuaciones que rigen la evolución temporal de cada vector de estado sean las siguientes: q̇1 = FACP O (q1 ) + pc q2 + pc q3 + pc q4 (4.15) q̇2 = FACP O (q2 ) + pc q3 + pc q4 + pc q1 (4.16) q̇3 = FACP O (q3 ) + pc q4 + pc q1 + pc q2 (4.17) q̇4 = FACP O (q4 ) + pc q1 + pc q2 + pc q3 (4.18) Cada perturbación de estado pc (qi ) está definida por: pc (qi ) = λ [xi , yi ]T (4.19) 56 Los modos de locomoción en robots cuadrúpedos más comunes son: caminado, trote y galope. Si se define la fase θd,ij = θi − θj como la diferencia entre las fases de los vectores de estado qi y qj , y además se toma como referencia de fase del sistema la pata frontal izquierda (1), entonces los modos de caminado obtenerse utilizando las fases normalizadas que se muestran en la Tabla 4.6(b). Dado que las diferencias de fase se pueden representar como matrices de rotación, y aprovechando el hecho de que R(θd ) = R−1 (−θd ), es posible obtener las matrices de rotaciones asociadas a cada conexión entre ACPO (ver Tabla 4.2.1). Modo θd,12 Caminado 0.75 Trote 0.5 Galope 0.5 θd,13 0.25 0.0 0.5 θd,14 0.5 0.5 0.0 Modo θR,1 Caminado 0.25 Trote 0.5 Galope 0.5 (a) θR,2 θR,3 0.25 0.5 0.0 0.5 0.5 0.0 (b) Tabla 4.6: (a) Desfases bases según modo de caminado y (b) Fases normalizadas de rotación según modo de caminado En la Tabla 4.2.1, las columnas representan los nodos ACPO origen de la conexión, y las filas representan los destinos de cada conexión. Para la diagonal la matriz de conexión es nula (0) ya que no existe autoconexión en los nodos ACPO. Cada elemento de rotación Ri en la matriz es equivalente a una rotación R(θR,i ). Puesto que se desea controlar de manera suave y continua la transición del sistema entre los distintos modos de caminado, representados por las diferencias de fases entre los nodos ACPO, se pueden definir funciones continuas cuya entrada sea un parámetro denominado Pmodo ; conforme este parámetro varı́a, los desfases de cada nodo con respecto al de referencia (FI/1) cambian de manera continua entre cada uno de los valores mostrados ACPO FI/1 FD/2 TI/3 TD/4 FI/1 FD/2 TI/3 0 R3−1 R1−1 R3 0 R2 −1 R1 R2 0 −1 R2 R1 R3 TD/4 R2 R1−1 R3−1 0 Tabla 4.7: Matrices de rotaciones para CPG-ACPO 57 en la tabla 4.6(b). En [19] se muestran las gráficas correspondientes a las tres funciones univaluadas de la fase de los nodos FD/2, TI/3 y TD/4 con respecto a FI/1. Estas figuras cumplen con las caracterı́sticas de transición suave y continua de fase entre distintos modos de caminado. Sin embargo las ecuaciones provistas por los autores en dicha publicación discrepan de las ecuaciones que originan tales figuras. Empleando la estructura básica de las funciones, se corrigieron los parámetros y la forma de las mismas y se lograron obtener las siguientes ecuaciones: θR,2 1 1 θR,1 = 1+ 4 1 + e−20(Pmodo −1,5) 1 1 2 = (Pmodo − 1) + 4 1 + e−20(Pmodo −1,5) 1 1 θR,3 = 1− 2 1 + e−20(Pmodo −1,5) (4.20) (4.21) (4.22) Estas ecuaciones corresponden de manera exacta a las gráficas de fases publicadas en [19]. El rango de la variable de control Pmodo va desde cero (0) para modo caminar hasta dos (2) para modo galope, pasando por trote cuando Pmodo = 1. Las gráficas de cada unas de las funciones de transición de fase se muestran en la Figura 4.20. Figura 4.20: Funciones de transición de fases 58 4.2.2 Pruebas del modelo basado en ACPO A continuación se muestran varias pruebas efectuadas para evaluar el desempeño de ACPO como base para un modelo del sistema locomotor. Cabe destacar que este esquema de osciladores acoplados solo provee un mecanismo para la generación de señales de sincronización entre cada una de las patas. No provee de referencias para los ángulos de cada uno de los motores dentro de un pata. Se considera que un ciclo completo para un oscilador se corresponde con un ciclo de locomoción de la pata asociada a dicho oscilador. La función principal del modelo empleado es la generación de señales de referencia temporales para los ángulos de cada articulación, las cuales describen un modo de caminado en particular en función de la relación de fase entre los vectores de estado qi de cada una de las patas. Se implementó el sistema descrito por las Ecuaciones 4.15, utilizando Euler como técnica de resolución de las ecuaciones diferenciales para los vectores q̇i , con Euler = 0,001. Primero se estudió el efecto que tienen las variables g, ro y ω sobre el atractor cı́clico de un solo ACPO. En las Figuras 4.21(a),4.21(b),4.21(c),4.21(d) se muestran los ciclos lı́mites para 4 casos de ACPO con distintos valores de g; los otros parámetros se mantuvieron constante (ω = 2π, ro = 1). Se muestran las gráficas de las trayectorias descritas bajo tales condiciones de simulación, empleando un total de 8 puntos iniciales fijos, 4 de ellos ubicados en las cercanı́as del origen, y los cuatro puntos restantes fuera del cı́rculo de radio ro ; la longitud de cada trayectoria corresponde a los primeros 1000 puntos de simulación. En tales gráficas se puede apreciar el impacto de g en la velocidad de convergencia del vector de estado q hacia el cı́rculo de radio igual a 1 que describe el ciclo lı́mite del sistema. Se puede observar que conforme disminuye el valor de g, la trayectoria descrita por el vector de estado tarda cada vez mas en converger al ciclo de radio 1. En la Figura 4.21(d) se 59 (a) g = 0.1 (b) g = 1 (c) g = 10 (d) g = 100 Figura 4.21: Ciclo lı́mite de ACPO en para distintos valores de g aprecia que el vector q cae en dicho ciclo atractor en apenas una iteración, para los distintos puntos iniciales empleados. El efecto directo de g es escalar la componente tangencial (aproximación) del vector q̇, al aumentar éste disminuye el tiempo de convergencia. Sin embargo, también se observó que para valores muy bajos de g el sistema no convergı́a, sino por el contrario divergı́a del circulo de radio ro . Ésto se observa en las Figuras 4.21(a) y 4.21(b); en el primer caso la trayectoria del vector de estado crece paulatinamente, alejándose del cı́rculo en el caso de los puntos iniciales que estaban fuera del mismo. Las trayectorias correspondientes a los puntos internos describı́an espirales cuyo radio crecı́an también de manera progresiva. Para la gráfica correspondiente a un valor de g = 1, se observa que las distintas trayectorias convergen a un zona descrita por un anillo con un 60 radio promedio igual a 1.2, los cual evidentemente es mayor al radio establecido por ro . Observando el impacto de la variable g sobre la posible convergencia del vector de estado a un atractor cı́clico definido por ro , se desprende la necesidad de usar valores mayores o igual a 10. No existe la necesidad de identificar el valor exacto que asegura convergencia del sistema, puesto que no se desea operar en torno a una condición crı́tica. Para ésto se considera como condición suficiente utilizar una constante g con un valor lo suficiente alto como para asegurar convergencia. En lo que respecta al comportamiento del sistema completo, compuesto por cuatro osciladores acoplados (ver Fig. 4.19), se procedió a estudiar la evolución temporal del mismo ante la ausencia de perturbaciones. Para ello, se fijó un modo de caminado en particular al cual están asociados distintos desfases entre patas, los cuales se dejaron constante durante la simulación. Todos los vectores de estado fueron puestos en cero (qi = [xi , yi ]T = [0; 0]T , ∀i = 1) excepto para la pata 1 ( Frontal Izquierda); la condición inicial de dicha pata era el vector qini = [0,1; 0,1]T a fin de que el sistema completo no partiese de un estado totalmente nulo, caso en el cual permanecerı́a estático en el origen para todos los osciladores. El resto de los parámetros empleados fueron los siguientes: ω = 2π,ro = 1, g = 50 y λ = 2; la variable que controla los desfases fue colocada en el valor correspondiente al modo caminado (Pmodo = 0). En la Figura 4.22 se muestra la evolución temporal de las 8 componentes de los vectores de estado correspondientes a las cuatro patas, para una simulación efectuada con un paso de Euler = 0,001. Puesto que se escogió un valor de Pmodo = 0 correspondiente al modo caminado, la relación de fases es tal que algunas componentes de los vectores de estados poseen aproximadamente el mismo valor de amplitud para el mismo instante. Por ejemplo, el componente x del ACPO correspondiente a la pata 1 posee la misma forma de onda ( con igual fase ) que la componente y del vector de estado de la pata 2. Este comportamiento se aprecia en la Figura 4.22. Las Figuras 4.23(a)4.23(b)4.23(c)4.23(d) muestran la evolución de los mismos vectores de estado en el plano X − Y . 61 Figura 4.22: Salidas de CPG-ACPO en función del tiempo, Pmodo = 0 En las gráficas de las trayectorias en el plano de los vectores de estado también es posible observar la convergencia del sistema completo a un régimen con desfases entre los vectores de cada pata, iguales a los establecidos como referencia para el modo de caminado ( ver Tablas 4.6(a)4.6(b) ). A fin de poder apreciar la velocidad con la cual el sistema cae en este comportamiento de acoplamiento de las fases, se procedió a graficar los desfases para cada una de las patas. Para ello, se tomo como referencia ( fase cero ) a la Pata 1. En la Figura 4.24 se muestran las gráficas con los desfases en función del numero de iteraciones, para las patas 2,3 y 4; también se colocan los valores de referencia de fase para cada pata. En lo que respecta al módulo de los vectores de estado, se tiene que el sistema tarda un número mayor de iteraciones en converger a un valor final, en este caso de 1,251. La Figura 4.25 muestra la evolución temporal de los módulos de q para cada una de las patas. En ambas se puede apreciar que tanto las fases como los módulos de los vectores convergen rápidamente a un estado final, tomando un aproximado de 100 iteraciones para establecerse la amplitud, mientras que la fase se estabiliza en apenas 3 iteraciones. Sin embargo, se nota un error en el valor final de la amplitud ya que el valor de ro = 1 difiere del radio del ciclo final al cual convergen los cuatro vectores de 62 (a) Pata 1 (b) Pata 2 (c) Pata 3 (d) Pata 4 Figura 4.23: Trayectorias en el plano del vector q para cada pata estado (1,251). Aquı́ nuevamente se observa el fenómeno identificado en la Figura 4.21(b) asociado al valor de g utilizado. Este resultado se toma en consideración en posteriores implementaciones del presente modelo como sistema de generación de fases de un CPG mas completo. Por último se estudió el comportamiento del sistema ante la transición de modo de caminado. Para esto se partió con un modo de locomoción dado, y una vez que el sistema se establecı́a en un comportamiento estable propio de dicho modo, se modificó la variable Pmodo . Dicho parámetro fue cambiado un total de 3 veces, pasando por caminado, trote, galope y por último de vuelta a caminado. En la Figura 4.26 se muestra la evolución temporal de las variables de los vectores de estado para todas la patas con las variaciones 63 Figura 4.24: Fases de cada pata en función del tiempo Figura 4.25: Módulos para cada pata en función del tiempo 64 antes mencionadas para Pmodo . Los demás parámetros del sistema se mantuvieron iguales. Figura 4.26: Salidas de CPG-ACPO en función del tiempo, Pmodo variable Se aprecia el ajuste inmediato de las amplitudes de los vectores de estado para cada cambio de la variable Pmodo . Tales ajustes corresponden a transiciones continuas en cada una de las formas de onda. Sin embargo se sigue observando diferencias entre la amplitud alcanzada por las ondas, y la correspondiente al atractor con radio ro = 1. Partiendo de las distintas pruebas previamente descritas, donde se observan los comportamientos que exhibe el sistema dinámico que representa un CPG basado en cuatro ACPO interconectados, es posible identificar algunas caracterı́sticas útiles para generación de modos de caminado en un cuadrúpedo. Éstas son las siguientes: • Es posible establecer referencias de desfase a partir de una variable única (Pmodo ), lo cual no impide la inclusión de desfases arbitrarios en caso de que resultasen útiles 65 para un modo de caminado en particular. • Se encuentra definido un vector de estado (q) para cada una de las patas, ası́ como su gradiente en todo el plano (q̇). • Es posible ajustar el radio del atractor cı́clico de cada uno de los osciladores mediante el parámetro ro . • Se puede controlar la velocidad de oscilación a través del parámetro ωi . • La convergencia del vector de estado al atractor cı́clico puede ser controlada mediante el factor g, que escala la componente de q perpendicular al ciclo de radio ro . Estas caracterı́sticas pueden ser aprovechadas para modelar el acople de fase entre las patas del robot cuadrúpedo. No obstante, un modelo de CPG-ACPO resulta incompleto al quedar sin solución la coordinación de los movimientos de las articulaciones dentro de cada una de las patas. Aparte, se pudo identificar algunos casos donde el sistema de osciladores acoplados exhibe un comportamiento que afectarı́a de manera negativa al proceso de locomoción completo. Estos son: • Para valores de g bajos (entre 0,1 y 1 por ejemplo), el vector de estado para un oscilador ACPO simple NO convergı́a al atractor cı́clico deseado. El sistema por el contrario divergı́a, aumentado continuamente la amplitud de q: el sistema era inestable. • El sistema es muy sensible a la resolución de paso en la simulación al usar Euler. A diferencia del caso de las CTRNN, donde un paso de 0,1 resultaba suficiente; pero para el ACPO se necesario un paso de simulación menor o igual a 0,001. Este problema puede ser resuelto mediante el uso de otras técnicas para cálculo con ecuaciones diferenciales. 66 • El espacio natural de salida de cada vector es una circunferencia descrito por componentes de naturaleza sinusoidal. La generación de señales con diferentes formas de ondas basándose solamente en ACPO aún no ha sido resuelto. 4.3 Generación de trayectorias dinámicas con DNN En esta sección se menciona el uso de un tipo particular de redes neuronales denominadas Dynamic Neural Networks (DNN) para la generación de trayectorias dinámicas. La idea es descrita con mayor detalle por P. Zegers y M. K. Sundareshan en [29][30]. Si bien no es citada como base para un modelo de locomoción en robots con patas, los autores señalan sus posibles aplicaciones en áreas de la robótica, como es el control de trayectorias en brazos robóticos. Existen otros trabajos donde se muestran técnicas alternativas a la que se muestra a continuación para el entrenamiento de redes dinámicas recurrentes [40][41][42]. Un problema clásico en sistemas dinámicos no lineales es el diseño de un sistema que produzca un conjunto prediseñado de atractores tales que se asegure la convergencia a un ciclo lı́mite independientemente de las condiciones iniciales. En la sección anterior se estudió con detalle un sistema simple de este tipo conformado por osciladores no lineales acoplados. Los mismos permitı́an la generación de un conjunto de atractores que eventualmente, usando los parámetros correctos, convergı́an a un ciclo lı́mite definido. Pero dicho enfoque estaba limitado a un tipo especı́fico de ciclo lı́mite, que dejaba sin solución la coordinación de los movimientos entre las articulaciones. Lo último es denominado el problema de generación de trayectorias Existen casos más generales donde se utilizan entradas externas al sistema para el control durante el proceso de generación de trayectorias. Estas entradas también permiten darle forma en tiempo real a las trayectorias descritas por el sistema mediante modifica- 67 ciones del campo atractor; problema el cual se denomina modulación de trayectorias. En [29] se introduce el uso de redes dinámicas (DNN), cuya arquitectura ataca por separado cada uno de estos problemas. Para ello, partiendo de la separación del problema original en uno de generación y otro de modulación, proponen el uso de redes recurrentes (RNN) para la generación de un atractor para un ciclo lı́mite (análogo al caso de las CTRNN), y el uso de una red no recurrente (NRNN) para la modulación de la trayectoria resultante de la red anterior. La arquitectura propuesta para la red neuronal dinámica se muestra en la Figura 4.27. Figura 4.27: Arquitectura de DNN basada en RNN y NRNN Si se observa con detenimiento, se puede apreciar que en el proceso de generación de trayectorias dinámicas incorpora dos conceptos presentes de los sistemas neurofisiológicos, oscilación sostenida y neuromodulación, indicados previamente en el capı́tulo de modelos neurofisiológicos del sistema locomotor en animales (Pag. 27). La aproximación de trayectorias utilizando redes neuronales es estudiada en [6][11][27][28]. Generación de trayectorias mediante DNN Existe una serie de consideraciones y principios matemáticos presentes detrás de soluciones a los problema de generación y modulación de trayectorias dinámicas. Las mis- 68 mas se mencionan a continuación junto con los fundamentos matemáticos que dan soporte a la propuesta de DNN referida por Zeger y Sundareshan en [29]. Teorema 4.3.1. Dado un conjunto de pares de datos (ti , y(ti )), i ∈ [1, l], obtenidos del mapeo y(·) : [0, T ] → m , la trayectoria yl (t), generada por el proceso gl (o(t)), gl (·) : k → m , o(t) generado por el proceso h(·) : [0, T ] → k , con k entero positivo, puede ser hecho arbitrariamente próximo a y(t) conforme l → ∞ dado un g(·) que es implementado con una NRNN con dimensión Vapnik-Chervonenkis (VC) apropiada, y o(t) es implementado de manera tal que cumple con la condición: ti = tj ⇒ o(ti ) = o(tj ) (4.23) para ti ∈ [0, T ] y tj ∈ [0, T ]. Prueba: Cualquier mapeo y(·) : [0, T ] → m , puede ser reformulado como la composición de dos mapeos y(t) = g(o(t)), g(·) : k → m , la trayectoria generada por el proceso h(·) : [0, T ] → k , k entero, dado que las funciones g(·) y h(·) existen. El proceso h(·) puede ser escogido de manera tal que cumpla con las condiciones expresadas en la Ecuación 4.23. Luego, los requerimientos para la existencia del mapeo g(·) corresponden a las de la existencia de una función. Si las condiciones previas se cumplen, entonces g(·) es una función y por lo tanto es implementable mediante el uso de una NRNN. Ahora, dado un conjunto de pares de datos (ti , y(ti )), i ∈ [1, l], la salida del mapeo yl (t) = gl (o(t)), gl (·) : k → m , puede ser hecha arbitrariamente cercana a y(t) dado que gl (·) es implementada con una NRNN con dimensión VC correcta, y l → ∞ [31][43][44]. Ésto sugiere que cualquier proceso BIBO (Bounded Input - Bounded Output) puede ser reformulado como dos procesos en cascada: el primero h(·) que transforma el tiempo t en una trayectoria intermedia o(t), y el segundo proceso gl (·) que convierte dicha trayectoria en una secuencia yl (·) que se aproxima a la trayectoria dinámica deseada y(·). Si se observa con detenimiento, este enfoque coincide con la noción de separación espacio-temporal del problema de locomoción, donde se requiere resolver el problema de coordinación de las 69 fases entre las patas del robot (temporal) y el problema de generación de referencias en el espacio de actuadores para cada una de las patas (espacial). A continuación se mencionan los modelos empleados en [29] para cada uno de estos dos problemas en DNN. 4.3.1 Generación: sı́ntesis de red recurrente El modelo de red recurrente citado corresponde a uno de tiempo continuo descrito por un grupo de ecuaciones diferenciales acopladas: 1 ẋi (t) = −xi (t) + wij fj (xj (t)), i ∈ [1, n] τi j=i n (4.24) Aquı́ xi (t) ∈ denota el estado de la i-ésima neurona en el instante t, τi ∈ es una constante de tiempo conocida como el tiempo de relajación, wij ∈ denota el peso de interconexión de la neurona j-ésima a la i-ésima, f (·) : → defina una función de umbral no lineal como la siguiente: σ(x) = 2 − 1, i ∈ [1, n] 1 + e−ri z (4.25) donde ri ∈ es un parámetro que permite controlar la pendiente de la función de umbral. Si se observa con detenimiento la estructura de la Ecuación 4.24 se puede apreciar que es casi idéntica a la de la ecuación empleada en la descripción de CTRNN, citada por [15][16] ( ver Sección 4.1 en página 31). Ambas comparten los parámetros de τ como 70 constante de tiempo, variables de los pesos de interconexión entre los nodos, ası́ como la realimentación negativa del estado de la variable. La diferencia entre ambas ecuaciones estriba en la presencia de un término θi ausente en la Ec. 4.24; y también que la función de umbral aquı́ utilizada posee un término extra que permite controlar la pendiente de la misma. A pesar de ello, la estructura de las mismas sugieren una fuerte analogı́a en el comportamiento dinámico, aunque no se provee de un método analı́tico para pasar de una representación a otra. La relevancia del modelo de red recurrente empleado en esta sección reside en su capacidad de generar atractores cı́clicos; por ello en el presente trabajo se propone la posibilidad de utilizar cualquier conjunto de ecuaciones diferenciales acopladas tales que converjan a una trayectoria cerrada para los vectores de estado del sistema. Este planteamiento se describe con mayor detalle en el Capı́tulo 5 como parte de la propuesta de un sistema generador de modos de caminado. Una posible solución a la red recurrente dentro de un DNN puede ser una cuya salida sea una trayectoria unidimensional monótona, lo cual cumple con las condiciones impuestas en la Ec. 4.23. Sin embargo se requiere también que la señal sea de naturaleza cı́clica, y debido a la continuidad de todas las trayectorias obtenidas mediante el uso de ecuaciones diferenciales acopladas, se vuelve necesario utilizar como RNN un sistema de dimensión 2 o mayor. En [29] se detalla la implementación de un RNN basado en tres nodos con acoplamiento como el descrito por la ecuación 4.24, de cuyo vector de salida yl = [yl (0), yl (1), yl (2)] se utilizan sólo dos dimensiones como entrada al proceso de transformación g(·). 4.3.2 Modulación: Sı́ntesis de red no recurrente En la Figura 4.27 se aprecia que el proceso de modulación de trayectoria, controlado por una entrada externa es posible de tres maneras: a nivel de la red recurrente, a nivel 71 de la red no recurrente o a como entrada de ambas. Las dos posibilidades que contemplan la modulación actuando sobre la RNN revisten una mayor complejidad en el proceso de sı́ntesis de los N 2 + 2N parámetros que describen a dicha red, debido primordialmente a las ecuaciones diferenciales que rigen el comportamiento de las mismas. Por ello, el proceso de modulación se efectúa a nivel solamente de la red no recurrente. Como red no recurrente citan la utilización de una red neuronal feedforward. Se destaca el hecho de que la aplicación de entradas externas a la NRNN es lo suficientemente poderoso como para obtener cualquier transformación espacial, manteniendo la simplicidad en su implementación. Teorema 4.3.2. Dado un conjunto de tripletas de datos (ti , ei , y(ti , ei )), ei ∈ p , i ∈ [1, l], obtenidos del mapeo y(·, ·) : [0, T ]×p → m , e ∈ p , la trayectoria yl (t, e), generada por el proceso gl (o(t), e), gl (·, ·) : k+p → m , o(t) generado por el proceso h(·) : [0, T ] → k , con k entero positivo, puede ser hecho arbitrariamente próximo a y(t) conforme l → ∞ dado un g(·, ·) que es implementado con una NRNN con dimensión Vapnik-Chervonenkis (VC) apropiada, y h(·) es implementado de manera tal que cumple con la condición expresada en la Ec. 4.23. Prueba: Análoga a la prueba del teorema anterior. Lo importante en la redes dinámicas es la introducción de conceptos que simplifican la obtención de sistemas aproximadores a trayectorias dinámicas. Existen dos ideas en particular que revisten interés para solucionar el problema de modelado del sistema de locomoción: • Separación del problema en uno de ı́ndole temporal, y el otro de naturaleza espacial. • Uso de redes neuronales no recurrentes (redes feedforward) para operar como deformadores de trayectorias. 72 Un modelo de DNN con una implementación basada en una RNN descrita por ecuaciones diferenciales acopladas como la Ec. 4.1 ó la Ec. 4.24 es válida para el control de una sola pata, restando por resolver el acople de las fases entre cada una de las patas. 4.4 Comparación entre técnicas para modelado de CPG Partiendo de lo expuesto previamente en este capı́tulo, donde se detallan las principales caracterı́sticas de tres técnicas o enfoques que pueden ser empleadas como modelos de CPG para la generación de modos de caminado en un robot cuadrúpedo, se procedió a efectuar una comparación de los mismos. Dicha comparación se resume en la Tabla 4.8. CTRNN AG, R-Backpro ACPO Análisis directo DNN Linealización, AG, Backpro Nodos N nodos por pata 1 nodo por pata N nodos por pata Coordinación temporal Sin relaciones de Con relaciones fase de fase Modelo de pata Modelo simple de pata Sı́ntesis parámetros de Sin relaciones de fase Sin modelo de pata Cualquier modelo de pata Tabla 4.8: Comparación de técnicas para modelado de CPG En lo que respecta a la sı́ntesis de parámetros, el uso de ACPO resulta ser el más conveniente ya que los mismos pueden ser calculados mediante inspección directa de las ecuaciones que rigen la evolución temporal de los vectores de estado en dicho modelo. Las alternativas de CTRNN y DNN dependen de técnicas como los algoritmos genéticos y entrenamiento por backpropagation, las cuales no aseguran convergencia a soluciones óptimas. Otra ventaja que exhibe el uso de ACPO para modelado del sistema de locomoción es que tan solo se requiere un nodo por cada pata, mientras que las otras dos opciones 73 requieren un minimo de 3 nodos por cada pata, aumentando el número de parámetros involucrados. Sin embargo, usar osciladores acoplados no resuelve la coordinación de los movimientos dentro de cada una de las patas, ya que provee solamente una referencia temporal acoplada entre las patas. En este punto, resulta más conveniente la utilización de redes dinámicas (DNN), las cuales permiten resolver el problema de generación de trayectorias dinámicas. De esta manera es posible asociar un movimiento coordinado de las articulaciones de la pata a una referencia temporal para dicha pata. 74 Generador de modos de caminado en robots cuadrúpedos En este capı́tulo se describen las propuestas que conforman el principal aporte del presente trabajo en el modelado del sistema de locomoción de robots con patas. También se menciona la metodologı́a empleada para el diseño y evaluación de los mismos, y se muestran los resultados obtenidos con sus respectivos análisis. En el Capı́tulo 2 se expusieron los principios que conforman la base del sistema locomotor en robot con patas. Para el caso especı́fico de robots cuadrúpedos, objetos de estudio del presente trabajo de investigación, se describieron las condiciones necesarias para la generación de modos de locomoción estáticamente estables. Vale destacar que las caracterı́sticas deseadas en un modelo de caminado para cuadrúpedos se resumen en el siguiente par de ideas básicas: Trayectorias de referencias para las patas El movimiento de cada una de las patas debe describir una trayectoria continua y cerrada. Dicha trayectoria se compone de una fase de transferencia y la otra de soporte; esta última es la que provee de propulsión efectiva al robot. Los perfiles de movimiento están asociados directamente a la estructura cinemática de las patas. Es deseable que el sistema de locomoción provea de valores de referencias en el espacio de los actuadores, como pueden ser ángulo y velocidad angular para los motores. 75 Mediante la modificación y ajuste de las trayectorias es posible lidiar con modificaciones en la estructura mecánica de las patas, y más importante aún, es fundamental para la implementación de esquemas de control para la locomoción del robot sobre terrenos irregulares o inclinados. Coordinación de movimientos entre las patas El modo especı́fico de caminado viene dado de manera directa por la relación de fases en los movimientos cı́clicos efectuados por cada pata. Por esta razón resulta evidente la importancia de poseer un modelo de locomoción el cual genere dichos desfases según un modo particular de caminado. Es deseable que dicho modelo provea de mecanismos para efectuar de manera controlada transiciones entre distintos modos de caminado. Se puede observar que estas dos ideas básicas son comunes con algunas caracterı́sticas observadas en el proceso de locomoción de animales, y más importante aún, han sido incorporadas de una u otra manera en varios de los modelos propuestos acerca de la fisiologı́a del sistema de locomoción. Partiendo de ésto, se propone un primer modelo de locomoción para robots cuadrúpedos el cual se centra en la necesidad de efectuar transiciones de manera controlada entre distintas trayectorias para las patas. Se considera el modelado del sistema locomotor como un problema de coordinación temporal y otro de coordinación espacial. Se emplea una arquitectura que se fundamenta en tal principio de separación, y utiliza señales básicas de referencias temporales. Dicho modelo es evaluado y se analizan los resultados. Posteriormente, utilizando como base estos resultados se propone un nuevo modelo el cual centra su atención en el movimiento coordinado entre las patas. El mismo comparte la noción de separación espacial y temporal del proceso de locomoción, y resuelve ambos utilizando herramientas y métodos evaluados a lo largo del presente trabajo de investigación. El modelo resultante es lo suficientemente simple como para facilitar su comprensión y adaptación a patas con otras estructuras cinemáticas. 76 5.1 Propuesta de modelo del generador de modos de caminado Parte del problema de sı́ntesis de modos de caminado radica en la generación de la trayectoria del elemento terminal de cada pata. Normalmente existe una simetrı́a en la estructura mecánica de cada una de las patas dentro de un robot, razón por la cual todas comparten la misma cinemática; por lo tanto el problema se reduce a construir un sólo sistema con un vector de salida cuyas componentes sean las referencias de ángulo de cada articulación. Luego dicho sistema es replicado cuatro veces, una vez por cada pata. Para una estructura cinemática dada existen varias soluciones para trayectorias de la pata que cumplan con los criterios de estabilidad, por ello se contempla la sı́ntesis de diferentes trayectorias para las patas. Puesto que en el presente trabajo se estudian principalmente los modos de caminado no dinámicos, entendiéndose por ello aquellos de baja velocidad, se utilizan los criterios de estabilidad modos de caminado estáticamente estables. Una primera aproximación del sistema de generación de modos de caminado, se centra en el uso de señales rı́tmicas simples en la sección de coordinación temporal, y una red feedforward para las referencias espaciales. Este enfoque está directamente asociado a las observaciones hechas sobre la fisiologı́a del sistema locomotor en animales, y más importante aún, está inspirada en la propuesta de arquitectura para DNN examinada en el Capı́tulo 4. En este modelo se apunta a la simplicidad del sistema temporal, que actúa como un marcapasos, por lo cual uso de una red neuronal se reduce a la obtención de un método para efectuar transiciones suaves entre distintas trayectorias espaciales para la pata. 77 5.1.1 Arquitectura del modelo propuesto La estructura del sistema consta de dos secciones o subsistemas. La primera se comporta como un sistema marcapasos cuya frecuencia de repetición controla de manera directa el perı́odo completo de la secuencia de caminado. La otra sección es una red neuronal de tipo feedforward, con una entrada externa para la selección del perfil de trayectoria que se desea sintetizar. En la Figura 5.1 se ilustran cada uno de los elementos principales del sistema. Figura 5.1: Modelo propuesto para generador de modos de caminado. Se observa claramente la inclusión de una variable externa de control denominada modo. Dicha entrada tiene como finalidad modificar el tipo de trayectoria espacial que se desea generar. En lo que respecta al sistema de referencia en tiempo se evaluaron 3 tipos básicos de generadores. A continuación se describe con más detalle este último subsistema. 5.1.2 Referencias en tiempo Para este subsistema se contempló el uso de 3 tipos distintos de señales periódicas. Una es una señal simple de rampa definida por: r[n] = n(modN ) N (5.1) 78 La Ecuación 5.1 define una secuencia monótona con un perı́odo igual a N, satisfaciendo la condición de periodicidad y las establecidas para DNN por la Ec. 4.23. La segunda alternativa para generación de una referencia temporal es un vector de dos dimensiones definidos por Y = [u, v]T , con u y v dados por: u = A · sin(2πωs n/N + φs ) v = B · cos(ωc n/N + φc ) (5.2) Usando dicha ecuación es posible obtener una familia de figuras cerradas (Lissajous), variando los parámetros A, B, ωs , ωc , φs y φc . Debido a las restricciones en la naturaleza de la señal de entrada a la red neuronal, donde la función de mapeo del vector de tiempo a una referencia temporal debe ser biyectiva (ver Ec.4.23), y por mayor simplicidad, en la presente implementación se optó por el uso de los mismo valores de frecuencia en cada señal, hacer cero el desfase entre las dos señales e iguales amplitudes (A = B). Estas condiciones se resumen de la siguiente manera: A=B=1 ωs = ωc = ω φs = φc = φ (5.3) Con estos valores para los parámetros se obtiene una circunferencia de radio unitario, centrada en el origen, en la cual se puede controlar la frecuencia de oscilación ω y ángulo de rotación φ. El perı́odo completo de cada oscilación viene dado de manera directa por el parámetro N . El último tipo de referencia temporal evaluado fue una red neuronal recurrente (CTRNN) compuesta por dos nodos acoplados mediante la Ecuación 4.1. Se seleccionó una red con sólo dos nodos, ya que éste es el número mı́nimo de elementos necesarios dentro de una red de este tipo para obtener una salida de naturaleza oscilatoria sostenida. Esta 79 elección facilita la sı́ntesis de los parámetros de la red, en comparación con los casos de las redes empleadas en [15][16][29]. Generación de referencias en tiempo con CTRNN Para la obtención de los N 2 + 2N parámetros de la red neuronal se utilizaron algoritmos genéticos. Para los dos tipos de señales temporales mencionadas anteriormente es posible controlar el perı́odo de oscilación de manera directa con un sólo parámetro. Para el caso especı́fico de la señal en tiempo con CTRNN, se desea obtener una red tal cuya salida cumpla con una frecuencia de oscilación dada sin especial requerimiento en lo que respecta a la forma de onda del vector de estado; para ello es suficiente utilizar una función de fitness para el algoritmo genético, que se basa en el valor de Frecuencia Relativa (F R) del vector de salida de la red. El cálculo de F R fué descrito de manera detallada en el apartado 4.1.2, y permite calcular de una manera rápida y aproximada la frecuencia principal de oscilación de la red neuronal recurrente. Las condiciones especı́ficas de la sı́ntesis de los parámetros mediante AG se enumeran a continuación: • Proceso de selección de individuos por torneo. • Se aplicó un esquema elitista, manteniéndose la mejor solución de cada generación. • El operador de cruce entre cromosomas fue aplicado utilizando un número finito de puntos de cruces (8), en puntos seleccionados de manera aleatoria con función de probabilidad uniforme. • Se mantuvo una población constante de 15 cromosomas para cada época de iteración. • Se aplicó el operador de mutación a una tasa constante de 2 %. • Se codificaron los parámetros de la red CTRNN de manera directa. La codificación de cada parámetro se hizo de manera lineal sobre 16 bits del cromosoma, con un valor absoluto menor a 20. 80 • La función de fitness viene dada por el error calculado sobre la FR. • Las condiciones de parada del algoritmo eran alcanzar un número fijo de épocas (1000) ó que el error en la función de fitness de la F R fuese menor al 1 %. Para el cálculo de F R, se ignoraron los primeros 1000 puntos del vector de salida de la CTRNN obtenidos resolviendo las ecuaciones diferenciales con un paso de Euler = 0,1; ésto a fin de estudiar solamente la respuesta estacionaria del sistema. Los parámetros del algoritmo genético fueron obtenidos mediante ajuste empı́rico sobre las condiciones de evolución empleadas en los AG descritos en el apartado 4.1.2. La desventaja de utilizar AG está en que no se provee de un método directo para modificar la frecuencia del oscilador sobre la red ya entrenada. La solución en este punto es obtener una nueva red cambiando el valor de F R durante el proceso de entrenamiento. Nótese que esta metodologı́a resulta poco práctica si se desea modificar de manera continua el perı́odo del ciclo de locomoción, situación que se puede presentar al efectuar cambios en el modo de caminado del robot. 5.1.3 Transición entre trayectorias mediante redes neuronales El subsistema de transición de trayectorias fue implementado mediante una red neuronal de tipo f eedf orward. La entrada de la red es el vector xn ∈ M , donde M es la dimensión del vector de salida de la subsección de generación de referencias temporales; la red neuronal también tiene una entrada externa que controla la forma de señal de salida deseada. La salida del sistema corresponde a un vector yn ∈ 3 , cuyas componentes representan las referencias de ángulo de cada una de las tres articulaciones en una sola pata. La red neuronal posee una sola capa escondida conformada por K = 18 neuronas sigmoidales, como las descritas en la Ec. 5.4, y en la capa de salida un total de N = 3 neuronas lineales (Ec. 5.5), una por cada motor en la pata. La estructura correspondiente a la red neuronal feedforward se ilustra en la Figura 5.2. 81 yi = σ M wj · Ij + θj , i = 1, · · · , K (5.4) j=1 yi = K wj · Ij + θj , i = 1, · · · , N (5.5) j=1 Figura 5.2: Estructura de red feedforward para transición de trayectorias. Entrenamiento de la red neuronal A continuación se describe el proceso de entrenamiento para la sı́ntesis de los parámetros que describen a la red neuronal. El primer paso es la identificación de un conjunto de ejemplos para entrenar la red. Puesto que la tarea de la subsección implementada mediante la red neuronal es convertir una secuencia de referencia temporal, en un tipo de trayectoria controlada mediante una entrada externa, se procedió a seleccionar un grupo de formas de ondas en el espacio cartesiano 3 para la trayectoria espacial del elemento terminal de la pata. El criterio de selección se basa en la simplicidad de generación 82 de cada una de las formas de ondas, que pudiesen ser descritas mediante parámetros del modelo geométrico (Sección 2.3), y que naturalmente cumpliesen con las condiciones de estabilidad estática. Se empleó un total de 3 formas de onda diferentes: triangular, rectangular y rectangular con bordes redondeados. Las Figuras 5.3(a),5.3(b) y 5.3(c) muestran una vista lateral en el plano 2-D (Y-Z) perpendicular al cuerpo base del robot, para cada una de las formas de ondas previamente mencionadas. En las mismas se pueden identificar los parámetros más importantes correspondiente al modelo geométrico de modos de caminado, como son la longitud de paso (L), altura base de la plataforma (H) y variación de altura durante el paso (dH). (a) Triangular (b) Rectangular (c) Redondeada Figura 5.3: Formas de onda: (a) Triangular (b) Rectangular (c) Redondeada Como se desea generar referencias angulares para las articulaciones de la pata, las trayectorias de referencia espaciales (perfiles) fueron convertidas en formas de onda para las articulaciones mediante la operación de cinemática inversa correspondiente a la pata. 83 La Figura 5.4 muestra la estructura mecánica de una pata del cuadrúpedo. La cinemática inversa de una pata se describe en la Ecuación 5.6. Se utilizó la convención de DenavitHartenberg para la selección de los ejes de coordenadas dentro de la pata. Figura 5.4: Diagrama de una pata en el cuadrúpedo El diagrama de la estructura de la pata mostrado corresponde al modelo de la plataforma robótica empleada para efectuar pruebas experimentales de los modelos de caminado. El robot de prueba en cuestión es fabricado por Lynxmotion, y el modelo especı́fico empleado es el Quadruped 3-DOF. Las longitudes de los tres eslabones rı́gidos que conforman a una pata son: L1 = 33mm, L2 = 70mm y L3 = 113mm. Xp = cos(q1)(L3.cos(q2).cos(q3) − L3.sen(q2).sen(q3) + L2.cos(q2) + L1) Yp = sen(q1)(L3.cos(q2).cos(q3) − L3.sen(q2).sen(q3) + L2.cos(q2) + L1) Zp = L3(sen(q2).cos(q3) + cos(q2).sen(q3)) + L2.sen(q2) (5.6) En la Figura 5.5 se muestran las formas de onda resultantes tras aplicar las ecuaciones de cinemática inversa sobre los tres perfiles de trayectorias. Los valores empleados 84 para los parámetros del modelo geométrico fueron los siguientes: H = 80 mm, dH = 65 mm y L = 200 mm. Figura 5.5: Referencias angulares para los 3 perfiles Como método de entrenamiento se utilizó la técnica ampliamente empleada en redes de tipo f eedf orward, denominada backpropagation. En la misma se hacen ajusten continuos en las variables de la red como los pesos de conexión interneuronal y puntos de operación, de manera proporcional al error asociado a la salida de la red para una entrada dada. La herramienta empleada para el entrenamiento de la red fue NNTOOLS de Matlab R Los parámetros de entrenamiento se listan a continuación: . • Duración de entrenamiento: 500 épocas. • Vector con 100 puntos por cada lote de entrenamiento para cálculo del error. • Entrenamiento con momento en el gradiente (0,1). • Error cuadrático medio (LMS), como métrica del error en la salida de la red neuronal. • Repetición de entrenamiento durante 15 veces para diferentes redes neuronales. 85 La estructura completa del proceso de entrenamiento de la red neuronal f eedf orward se muestra en la Figura 5.6. En dicho proceso, se asoció a cada trayectoria de salida un valor dado para la variable de entrada modo. Los valores de modo para cada tipo de salida eran: cero (0) para el perfil triangular, uno (1) para la salida rectangular y (2) para la salida tipo cuadrada. Utilizando este enfoque en la selección del conjunto de pares entradas-ejemplos, se pretende lograr un mecanismo para efectuar transiciones suaves entre las trayectorias de ejemplo, para lo cual se varı́a de manera continua la entrada modo; aprovechándose ası́ la capacidad de inferimiento e interpolación de las redes neuronales y dar respuestas de transiciones suaves entre los ejemplos de entrenamiento. Figura 5.6: Sistema de entrenamiento de red feedforward 86 5.1.4 Resultados de la sı́ntesis de trayectorias A continuación se muestran los resultados experimentales producto de aplicar el proceso de entrenamiento previamente explicado. Mediante la herramienta NNTOOL fue posible obtener el progreso del valor del error cuadrático medio en función de las épocas de entrenamiento para cada una de las redes durante el entrenamiento de las mismas. Todas las redes entrenadas estaban agrupadas según el tipo de señal de referencia en tiempo utilizada, lo cual da un total de 3 grupos. Para el cálculo de error de cada grupo de red neuronal se utilizó el vector de error de cada una de las 15 repeticiones de entrenamiento efectuadas desde diferentes semillas aleatorias y se promediaron. Los errores promedios para los 3 grupos fueron graficados y se muestran en la Figura 5.7. Figura 5.7: Error promedio vs No de épocas para 3 grupos de redes neuronales Se puede apreciar que las redes entrenadas mediante backpropagation eventualmente convergen a soluciones con valores bajos de error, lo cual es de esperarse dada la capacidad de las mismas como aproximadores de funciones para un valor arbitrariamente bajo de error. El mejor desempeño en el entrenamiento se obtuvo de la red cuya entrada era el par U − V de señales seno y coseno. Para las redes con entrada rampa se obtuvo que la velocidad de convergencia era menor que para los otros grupos evaluados. Esto se 87 puede explicar si se observa al vector de salida deseado, el cual describe una trayectoria cerrada tal como ocurre con las entradas U − V y CT RN N , ambas de 2 dimensiones. En el caso de la entrada de rampa existe una discontinuidad cuando la señal alcanza su valor máximo (1) en un perı́odo de tiempo N . Dicha variación abrupta en la entrada dificulta la tarea de aproximación ya que a la salida el sistema de referencia espacial es de naturaleza continua. Los ángulos de referencia obtenidos a la salida de la mejor red neuronal en cada uno de los tres grupos se muestran en las Figuras 5.8(a),5.8(b) y 5.8(c) para la entrada tipo rampa, U V y CT RN N respectivamente. En los tres casos, las formas de ondas de salida se aproximan a las referencias empleadas en el entrenamiento (ver Fig. 5.5), lo cual es de esperarse para las redes obtenidas ya que el error promedio final de las mismas alcanza un nivel tolerable (< 10 %). Se observo la ocurrencia del fenómeno denominado overfitting o sobreentrenamiento; ésto tiende a ocurrir o bien cuando el número de iteraciones de entrenamiento de la red es muy alto, o cuando existe un numero muy elevado de neuronas en la capa escondida. A primera vista, se estarı́a inclinado a pensar que la ocurrencia del fenómeno de sobreenterenamiento resulta positivo para la red neuronal, porque el error de salida de la red neuronal va decreciendo conforme se avanza en el proceso de entrenamiento; sin embargo esto produce que la red se memorice de manera casi perfecta los ejemplos utilizados en el entrenamiento, pero pierde progresivamente la capacidad de generalización para casos no incluidos en el entrenamiento. El sobreentrenamiento incide de manera negativa en la generación de trayectorias para el caminado, tal y como se puede observar en las Figuras 5.9(a) y 5.9(b), donde se muestran las salidas de dos soluciones de redes pertenecientes al grupo con entradas U −V , para la transición entre dos modos o perfiles de trayectorias. Cabe recordar que la variable modo fue incluida para permitir el control suave en la transición de las salidas entre los distintos perfiles utilizados. Con sobreentrenamiento los perfiles de salida se aproximan bastante bien a los ejemplos utilizados en el entrenamiento 88 (a) Rampa (b) U-V (c) CTRNN Figura 5.8: Salidas de red neuronal para entradas: (a) Rampa (b) U-V (c) CTRNN 89 (a) Con sobreentrenamiento (Error = 0.131) (b) Sin sobreentrenamiento (Error = 0.417) Figura 5.9: Efecto de overfitting en trayectorias. pero en las transiciones de un modo de caminado a otro varı́an abruptamente. Detallando las Figuras 5.9(a) y 5.9(b) se puede observar que la red neural con menor error resuelve de manera casi perfecta los dos ejemplo de entrenamiento empleados: triángulo y rectángulo, pero las soluciones intermedias (modo : 0 → 1) exhibe variaciones abruptas de amplitud lo cual dista de ser una transición suave entre perfiles de caminado. Para el caso de la red neural con un valor de error superior (0,417), los perfiles obtenidos cuando el modo deseado es triangular o rectangular no resultan ser tan buenas aproximaciones como la primera red. Sin embargo, las transiciones entre las dos trayectorias se efectua de manera mucho más suave lo cual incide de manera positiva en aplicaciones de locomoción. 5.2 Propuesta de modelo generador de modos de caminado La otra propuesta para modelar el sistema de locomoción está estructurada como un generador central de patrones (CPG), el cual se basa en la distribución del proceso de caminado en unidades presentes en cada una de las patas. Los resultados experimentales obtenidos durante la evaluación del modelo previamente propuesto indican la conveniencia 90 del uso de un sistema de referencia temporal que sea de al menos dos dimensiones, y cuya respuesta natural de salida sea una trayectoria cerrada. Se descarta el uso de redes recurrentes (CTRNN) como modelo del subsistema temporal ya que la complejidad para controlar su respuesta, ası́ como la falta de un mecanismo de interconexión para al menos 4 nodos que permita predecir su comportamiento, las hace poco viables para la presente aplicación. De esta opción se puede rescatar la existencia de un campo atractor para una trayectoria dada, caracterı́stica que no posee el modelo de dos osciladores (U −V ) estudiado previamente. En este punto, se propone como solución el uso de osciladores acoplados como los descritos en la sección 4.2. Los mismos poseen una arquitectura que resulta idónea para la implementación de un CPG debido a la distribución del sistema de caminado; también se debe destacar que las ecuaciones de cada ACPO describen un campo de atractores que convergen a trayectorias circulares cerradas facilmente controlables. Todas estas caracterı́sticas hacen de estos osciladores una elección casi directa como parte del modelado del sistema generador de modos de caminado. Del modelo inicialmente propuesto, se mantiene la utilización de una red neuronal feedforward a fin de transformar el vector de salida de los nodos del ACPO, en referencias válidas para los ángulos de las articulaciones de las patas. En este modelo de CPG se hace hincapié en la coordinación entre las patas, por lo cual no se considera la inclusión de parámetros de modulación a nivel de la entrada de la red feedforward. De esta manera se elimina la incidencia negativa del sobreentrenamiento puesto que no se tienen transiciones entre distintos perfiles de trayectorias para las patas. Dada las caracterı́sticas antes citadas, se tiene un sistema interconectado y distribuido cuya arquitectura se puede observar en la Figura 5.10 91 Figura 5.10: Arquitectura de modelo de CPG propuesto 5.2.1 Referencia temporal con ACPO Para la coordinación entre las patas se utilizaron osciladores acoplados modelados con ACPO, tal como se describe en la sección 4.2. El ACPO aqui implementado consta también de 4 nodos, uno por cada pata. Para el control de las referencias de fases se emplearon los valores mostrados en las tablas 4.6(a) y 4.6(b). Si bien en [19][39] se propuso la obtención de las fases mediante funciones que dependen de un solo parámetro (pmodo ) para efectuar transiciones suaves entre modos de caminado, aquı́ se considera suficiente el cambio inmediato de las fases de referencia a cada uno de los osciladores acoplados. No se considera necesario que los cambios en dichas fases deban ser continuas. Esta decisión se basa en observar la naturaleza de las ecuaciones que describen a los osciladores, ya que al ser las mismas un conjunto de ecuaciones diferenciales acopladas, y que la trayectoria resultante de los osciladores es producto de la resolución de dichas ecuaciones mediante técnicas de discretización, entonces si se utiliza un paso suficientemente fino en las iteraciones habrá una transición suave en la evolución temporal de las trayectorias de salida del sistema. Para verificar la validez de esta observación se procedió a la simulación del ACPO, 92 variando los valores de fases de referencia. Los parámetros de simulación empleados fueron los siguientes: ω = 2π,ro = 1, g = 250 y λ = 2, y para la resolución de las ecuaciones diferenciales se utilizó Euler con un paso de 0,001. En la Figura 5.11 se muestran las señales de entrada correspondientes a las relaciones de fases. Nótese la naturaleza discontinua de las mismas. Figura 5.11: Relaciones de fase vs tiempo. Aplicando como entradas de fase las señales mostradas en la Figura5.11, se obtuvo un conjunto de salidas que soportan la hipótesis del uso de referencias de fase discontinuas. Tales salidas son mostradas en la Figura 5.12 Se observa que en los instantes de tiempo donde ocurren los cambio de fases (t = 1000, 2000, 3000 y 4000), los vectores de salida de cada uno de los nodos de los osciladores comienzan a ajustarse a las nuevas relaciones de fase; dichas transiciones son suaves como era de esperarse. Tal continuidad en las señales de referencia temporal del sistema de locomoción es de especial importancia puesto que se asegura un movimiento continuo para cada una de las patas, y por ende del robot completo. En la Figura 5.12 se muestra una vista en el plano de los mismos vectores de salida graficados en la Fig. 5.13. 93 Figura 5.12: Vectores de salida vs tiempo. Se puede observar que los salidas del ACPO para cada pata se mantienen entorno a un atractor cı́clico de radio próximo al valor de referencia (ro = 1). Sin embargo se aprecia una diferencia en la amplitud de dichos vectores; en el caso especı́fico de la pata 1 el módulo del vector va desde un mı́nimo de 0,938 hasta un máximo de 1,251, para un error de 6,19 % y 25,1 % respectivamente. En la Figura 5.14 se observa la evolución del vector de estados | q1 |. Las diferencias en el radio de los vectores puede incidir negativamente en el proceso de generación de las trayectorias finales, ya que el entrenamiento de las redes neuronales se efectúa con vectores referencias con módulo constante e igual a 1. Una posible solución a este problema es la normalización del radio del vector de salida de los ACPO, teniendo especial cuidado durante las transiciones de modo de caminado, ası́ como en los puntos iniciales de las trayectorias cuando el sistema comienza a estabilizarse en un comportamiento oscilatorio. 94 (a) Pata 1 (b) Pata 2 (c) Pata 3 (d) Pata 4 Figura 5.13: Trayectorias en el plano del vector q para cada pata ante cambios de fases. 95 Figura 5.14: Módulo de q1 vs tiempo. Incorporación de factor de apoyo β En la sección 2.3 durante la descripción del modelo geométrico del sistema de locomoción, se introdujo el concepto de factor de apoyo como el cociente entre el intervalo de tiempo durante el cual la pata se encuentra apoyada y el perı́odo de un paso de caminado para una pata. Dicho parámetro permite controlar directamente el tiempo total de soporte para todas las patas, lo cual incide directamente en el equilibrio de la plataforma. En el presente modelo se procedió a incorporar este parámetro a nivel del subsistema de generación de referencias temporales. Para la implementación del factor de apoyo se utilizó una curva de compansión la cual era aplicada a la fase de cada uno de los vectores de estado de las patas; para ello se transformó temporalmente cada vector a la forma radio-fase ((r, θ)), de manera de no modificar el módulo de los vectores. La curva de compansión c(x, β) se construye a partir de dos segmentos de rectas cuyas pendientes y punto de intersección vienen dados por las 96 Ecuaciones 5.2.1. c(x, β) = x 2β x 2(1−β) + 1 2 1− β 1−β x≤β x>β La curva resultante se muestra en la Figura 5.15. Figura 5.15: Gráfica de curva de compansión c(x, β). Después de aplicar la curva de compansión a la fase de los vectores de estado, cada uno de los mismos fue transformado de vuelta a su forma original X − Y , con el valor de radio original y la nueva fase θc = c(θ, β). El proceso completo se puede describir de la siguiente manera: qi = [qx , qy ] → ⎧ ⎨ ri =| qi | ⎩ θi = ∠qi → θic = c(θi , β) → ⎧ c ⎨ qx = ri · cos(θic ) ⎩ qyc = ri · sen(θic ) donde qic = [qxc , qyc ] es el vector de estado resultante para la pata i tras la compansión. 97 5.2.2 Transformación espacial con red neuronal feedforward El subsistema de transformación espacial fue implementado mediante una red neural de tipo feedforward. Como entrada de la red se tiene el vector qi ∈ 2 , correspondiente a los vectores de estado de cada pata generados mediante ACPO. La salida de la red neuronal corresponde a un vector yn ∈ 3 , cuyas componentes representan las referencias de ángulo de cada una de las tres articulaciones en una sola pata. A diferencia de la red neuronal empleada en el primer modelo propuesto, no existe ninguna entrada adicional para la modulación de trayectorias. La red neuronal posee una sola capa escondida conformada por K neuronas sigmoidales, como las descritas en la Ec. 5.4. Ya que los valores para los ángulos de los motores están mecanicamente acotados en el rango [−90, +90], se decidió utilizar N = 3 neuronas sigmoidales para la capa de salida en lugar de neuronas lineales, una por cada motor. Como las salidas de las neuronas sigmoidales están acotadas en el rango (0, 1), es necesarios ajustarlas mediante una recta de la forma y = mx + b. El número de neuronas utilizadas a nivel de la capa escondida varió entre 5 y 40 durante las pruebas efectuadas. La estructura correspondiente a la red neuronal feedforward se muestra en la Figura 5.16. Entrenamiento de la red neuronal Al igual que en la sección 5.1.3, aquı́ se utilizó backpropagation como técnica de entrenamiento de la red neuronal. Se empleó un solo perfil de referencia espacial para el movimiento de una pata, tomando como base una figura rectangular como la ilustrada en la Figura5.3(b). Los puntos pertenecientes a la trayectoria de referencia empleados en el entrenamiento, fueron seleccionados siguiendo una proporción de dos puntos pertenecientes a la fase por cada punto de la fase de transeferencia. La razón de esta distribución es tratar de que la solución a sintetizar genere trayectorias suaves durante la fase de soporte, que es donde los movimientos de la pata afectan de mayor manera al caminado del robot. Es importante recordar que en este modelo de CPG se utiliza la red neuronal solo como función 98 Figura 5.16: Estructura de la red neuronal. de transformación de espacios, y no como mecanismo para modulación entre distintas trayectorias. Las condiciones del proceso de entrenamiento son los siguientes: • Método de entrenamiento: Ajuste por gradiente, sin momentum. Ajuste de una neurona por iteración. • Función de error: Error Cuadrático Medio (ECM) para aproximación de funciones. • Tasa de aprendizaje: 0.01 • Número de iteraciones: desde 500 mil hasta 2.5 millones. • Condición de parada: ECM menor al 1 % para 100 puntos equiespaciados del vector de salida, o se alcance el número de iteraciones máxima. 99 El esquema de entrenamiento se muestra en la Figura 5.17. Figura 5.17: Esquema de entrenamiento de red neuronal. La implementación aquı́ empleada incluye un factor de desplazamiento (F D), que controla el balanceo de la plataforma robótica en el plano X − Y , que es paralelo a la superficie de caminado. Este factor es utilizado para incrementar el margen de estabilidad estática del modo de caminado, al aproximar el centro geométrico del robot (cg) al centro teórico del polı́gono de apoyo (cp). Un valor de F D = 0 implica que no existe desplazamiento alguno de cg en dirección de cp; mientras que para F D = 1 implica que cg coincida con cp. Ya que el desplazamiento de la plataforma robótica es en dirección del eje Y , las correcciones de desplazamiento obtenidas mediante el uso de F D se efectuaron de manera ponderada separada para cada eje, siendo mayor el efecto sobre el eje perpendicular al 100 desplazamiento (X). La razón de ello se debe a que durante la locomoción en linea recta (eje Y ) el centro del polı́gono de apoyo varı́a más en el eje Y y por ende se requiere mayor correción sobre el mismo. Esto fue mostrado en la sección 2.5 durante la descripción de las condiciones de equilibrio estático en locomoción cuadrúpeda. 5.2.3 Descripción de experimento con plataforma cuadrúpeda En este apartado se describe las pruebas experimentales efectuadas para evaluar el desempeño del modelo aquı́ propuesto como generador de modos de caminado. Para ello se procedió a la implementación de los algoritmos correspondientes a la generación de referencias temporales con ACPO, y la transformación de trayectorias mediante la red neuronal. Dicha implementación incluı́a la transmisión de los valores de ángulos de referencia obtenidos hacia el sistema de control de posición de los motores de cada una de las articulaciones. La aplicación para el modelo basado en CPG se efectuó en C++; y para la evaluación de un generador de caminado basado en el modelo geométrico se utilizó la herramienta Labview 7.1 TM . La plataforma robótica controlada era un cuadrúpedo fabricado por Lynxmotion, previamente utilizado como modelo mecánico en la sección 5.1.3. Las caracterı́sticas principales del robot cuadrúpedo son las siguientes: • Dimensiones de placa base: 240 x 190 mm. • Disposición de patas en postura reptil. • 4 patas de 3 grados de libertad cada una(GDL). • Articulaciones actuadas directamente por servomotores Futaba HS-475. Los servomotores del robot fueron controlados por enlace serial utilizando la tarjeta 101 controladora SSC-32, también de Lynxmotion. A fin de complementar las observaciones durante la evaluación del desempeño del generador de modos de caminado, se procedió a instrumentar el robot cuadrúpedo. Para esto se incluyó un total de 5 sensores de aceleración distribuidos sobre la placa principal, y 4 sensores de fuerza ubicados en el extermo de cada pata. La distribución empleada fue la siguiente: • 4 acelerómetros FreescaleTM MMA1260D, eje Z. Rango ±1,5g. • 1 acelerómetro FreescaleTM MMA6161, ejes X-Y. Rango ±1,5g. • 4 sensores de fuerza Flexiforce TM . • Articulaciones actuadas directamente por servomotores Futaba HS-475. Los acelerómetros de eje Z fueron colocados en las bases de cada pata, sobre el punto que corresponde al origen del sistema de coordenadas local de cada pata. El acelerómetro de dos ejes fue colocado en el centro geométrico del robot. La distribución de los sensores se muestra en la Figura 5.18. Para la adquisición de los datos desde los sensores se desarrolló un sistema de adquisición de datos basado en un microcontrolador HC908GP32 fabricado por Freescale. Las señales analógicas de los sensores fueron muestreadas a una tasa de 100 Hz y digitalizadas con una resolución de 8 bits. La frecuencia de muestreo es mucho mayor que las frecuencias naturales de trabajo para la plataforma robótica, debido a que los modos de caminado empleados eran de muy baja frecuencia, con un ciclo de locomoción completa aproximadamente cada 6 segundos. Los datos provenientes de los sensores eran enviados inmediatamente a la aplicación que contenı́a la implementación del modelo de locomoción, a fin de poder asociar las variables medidas con las referencias generadas por el modelo. En la misma aplicación se filtraban los datos provenientes de los sensores utilizando un filtro digital pasabajo tipo FIR con ventana Blackman de orden 10, cuya frecuencia de corte estaba en 20 Hz; esto con la finalidad de reducir la amplitud del ruido de alta frecuencia producto de vibraciones mecánicas y ruido electrónico, derivado principalmente de los servomotores cuya frecuencia de conmutación es de 50 Hz. 102 Figura 5.18: Ubicación de sensores sobre la plataforma robótica. 5.2.4 Resultados experimentales y análisis La primera prueba efectuada fue la generación de perfiles de trayectorias mediante redes neuronales. Se entrenó un total de 5 redes, con diferentes números de neuronas en la capa escondida, ası́ como diferentes números de iteraciones de entrenamiento. La trayectoria de entrenamiento se mantuvo constante para todas. El perfil de movimiento de la pata empleado como ejemplo en el entrenamiento se muestra en la Figura 5.19. En la misma se observa una vista en el plano Y-Z, y los valores de los parámetros son: L = 50mm, H = 120mm y DH = 15mm. Las redes neuronales fueron entrenadas con las configuraciones de número de neuronas en capa escondida (K) e iteraciones de entrenamiento mostradas en la Tabla 5.2.4. Cada una de las redes neuronales fue utilizada para la sección de transformación de los vectores de estado provenientes del ACPO. El modo generador de referencias de fases con 103 Figura 5.19: Trayectoria de ejemplo para entrenamiento. el ACPO se mantuvo con las fases correspondientes al modo de locomoción caminado (ver Tabla 4.6(a)). NN1 NN2 NN3 NN4 NN5 K No de iteraciones 6 2 millones 8 2 millones 18 2 millones 25 2 millones 25 8 millones Tabla 5.1: Redes neuronales entrenadas Las salidas obtenidas para cada una de las redes neuronales al aplicarles los vectores de ACPO a la entrada, fueron convertidas del espacio de ángulos a trayectorias de referencia en el espacio cartesiano, mediante la cinemática directa de la pata. De tales trayectorias solo son de interés las componentes de movimiento que generan un movimiento de locomoción en el robot. Para el sistema de referencia mostrado en la Figura 5.18 se puede observar que el movimiento principal de locomoción para las patas se efectúa sobre el plano Y − Z. Las gráficas de las trayectorias resultantes para cada una de las redes neuronales se muestran en la Figura 5.20. En la Figura 5.20 se puede observar que las trayectorias obtenidas mediante las redes 104 (a) Red NN1 (b) Red NN2 (c) Red NN3 (d) Red NN4 (e) Red NN5 Figura 5.20: Vista en plano Y-Z de las trayectorias de salida de las redes neuronales. 105 neuronales son todas de tipo cerrada, con presencia de rizos u oscilaciones de frecuencia mayor al ciclo principal de locomoción. Tales oscilaciones son consecuencia del uso de redes neuronales como aproximadores de funciones; ya que las mismas tratan de converger a los puntos empleados como ejemplos de entrenamiento, sin embargo en aquellos puntos donde no se les provee información alguna de la salida deseada las redes pueden no converger. La solución inmediata a esta situación es el aumento de puntos de ejemplo extraidos de la trayectoria de referencia. Las amplitudes de las oscilaciones varı́an para las distintas redes neuronales, llegando al caso de la red NN3 donde las mismas son de amplitud comparables con el ciclo de locomoción. Este ejemplo ilustra un problema que es consecuencia de la técnica empleada en el entrenamiento de la red neuronal. En el entrenamiento por backpropagation existe el riesgo de que la solución que se alcance durante un punto del proceso de entrenamiento sea un mı́nimo local en la superficie de error, ya que la minimización del mismo se hace por gradiente. Una forma de reducir este problema es mediante la adición de momento en el algoritmo de correción de los pesos a partir de los gradientes, tal como se hizo durante el entrenamiento de la red neuronal mostrada en la sección anterior, utilizando la herramienta NNTOOL de Matlab. Se puede observar que para las 4 redes restantes la trayectoria no presenta oscilación alguna en el segmento de trayectoria que corresponde a la fase de apoyo, consecuencia de la selección de los puntos de la trayectoria original empleados en el entrenamiento de las redes neuronales. Este comportamiento es deseable ya que se traduce en un movimiento más suave durante el caminado del robot. En las trayectorias resultantes también se puede observar que las oscilaciones previamente mencionadas no desaparecen totalmente sino que se concentran en el segmento de trayectoria correspondiente a la fase de transferencia, donde la densidad de puntos empleados como ejemplos de entrenamiento era menor. También es posible apreciar la incidencia del número de neuronas en el número de oscilaciones. Se puede observar que conforme aumenta el número de neuronas (K), hay 106 mayor cantidad de oscilaciones sobre la trayectoria de caminado. Otro fenómeno observable en las gráficas de trayectoria es el impacto del número de iteraciones de entrenamiento sobre la salida obtenida en las redes neuronales. Para las redes NN1, NN2 y NN4, las cuales fueron entrenadas 2 millones de iteraciones la amplitud de las oscilaciones es mayor que en el caso de la red NN5, que fue la única entrenada un total de 8 millones de iteraciones. Esto concuerda con los resultados obtenidos para la red neuronal empleada en la sección 5.1.4, donde el aumento del número de iteraciones de entrenamiento se traducı́an en un menor error de aproximación a la forma de onda de referencia. Es importante recordar que esta mejora en la aproximación estaba también asociada a la perdida de capacidad de inferir de la red neuronal, debido al sobreentrenamiento. Posteriormente, durante el experimento de locomoción de la plataforma robótica utilizando cada una de las redes neuronales entrenadas se midieron los valores de aceleración que se muestran en las Figuras 5.2.4,5.2.4,5.2.4 y 5.2.4 . Cabe destacar que consecuencia de las oscilaciones presentes en la trayectoria generada con la red neuronal NN3, la secuencia de caminado obtenida fue inoperante ya con la misma el robot era totalmente inestable. Las gráficas mostradas corresponden a las salidas para las redes NN1, NN2, NN4 y NN5. 107 (a) Acelerómetros en ejes X-Y (b) Acelerómetros en eje Z Figura 5.21: La secuencia de locomoción obtenida con la red neuronal NN1 era marginalmente estable, es decir que cuando se aumentaba el valor de frecuencia de oscilación del ACPO (ω) lo que incrementaba la velocidad de paso, el robot era inestable. Los puntos de inestabilidad corresponden a picos en los valores de aceleraciones identificados como A. 108 (a) Acelerómetros en ejes X-Y (b) Acelerómetros en eje Z Figura 5.22: Para la secuencia obtenida con esta red neuronal, el comportamiento observado durante la locomoción fue muy semejante al correspondiente a la red NN1. También era marginalmente estable, y se pudo observar que cualitativamente las vibraciones en la plataforma robótica eran más perceptibles. 109 (a) Acelerómetros en ejes X-Y (b) Acelerómetros en eje Z Figura 5.23: Al igual que para las redes NN1 y NN2, la secuencia de caminado obtenida no era absolutamente estable, por el contrario, el caminado del robot era mucho más inestable que en para las dos redes anteriores. Ésto se puede apreciar en las gráficas de aceleración en el plano X-Y, en las cuales se observan mayor cantidad de picos de aceleraciones asociados con movimientos más bruscos de la plataforma. 110 (a) Acelerómetros en ejes X-Y (b) Acelerómetros en eje Z Figura 5.24: Para esta última red neuronal se obtuvo un caminado apenas mejor que para las redes NN1, NN2, y NN5. La mejora más notable es en las aceleraciones en el eje Z (perpendicular al piso), ya que las amplitudes de las registradas para esta red son menores. La causa de ello es que las oscilaciones del perfil de trayectoria en el plano (Y-Z) son de menor amplitud, como se indicó oportunamente al presentar las gráficas 5.20 111 Principales aportes, conclusiones y lineas de investigación futuras En este breve capı́tulo se presentan los principales aportes en el área de modelado del sistema de locomoción utilizando principios neurofisiológicos, fruto del trabajo de investigación efectuado a lo largo del presente trabajo de grado; también se indican las conclusiones obtenidas al término del mismo. Por último, se mencionan un conjunto de trabajos de investigación que pertenecen o están directamente asociados al campo de locomoción en robots con patas, los cuales surgieron durante el desarrollo de esta tesis y sirven para complementar y ampliar el trabajo desarrollado durante la misma. 6.1 Principales aportes y conclusiones En el presente trabajo de investigación se han estudiado diferentes aspectos del modelado del sistema de locomoción en robots cuadrúpedos, haciendo énfasis en las técnicas basadas en principios neurofisiológicos. Sobre las mismas se aplicaron distintos métodos de análisis desarrollados a lo largo de la presente tesis, conformes a los requerimientos que fueron surgiendo durante las investigaciones y pruebas efectuadas. A continuación se presentan los principales aportes efectuados en el área de locomoción en robots cuadrúpedos utilizando modelos neurofisiológicos. • Se realizó una revisión del estado del arte en modelos neurofisiológicos del sistema locomotor en distintos robots con patas, tales como cuadrúpedos y hexápodos, 112 ası́ como también en robots con otras estructuras mecánicas de locomoción como serpientes. En dicha revisión se identificaron los componentes más relevantes, ası́ como las ventajas y desventajas de cada uno de los modelos citados. • Se identificaron coincidencias en la problemática asociada al modelado del sistema de locomoción, tanto al utilizar el modelo geométrico convencional como bajo el enfoque neurofisiológico. En ambos casos el modelado se basa en dos sistemas: uno de coordinación temporal entre las patas y otro de control de trayectoria para cada pata. • Se evaluó un modelo de caminado basado en redes neuronales recurrentes (CTRNN), sintetizadas mediante algoritmos genéticos (AGs). Se propuso una función de fitness para los AGs la cual se basó en el análisis espacial de las formas de onda de salida. • Para el análisis del comportamiento de las CTRNN utilizadas como generadores central de patrones (CPG), se desarrolló una técnica basada en la visualización sobre un plano de la intensidad del campo atractor, el cual está descrito por las ecuaciones diferenciales que controlan la evolución temporal de la red CTRNN. • Se propuso una implementación del sistema locomotor basado en el concepto de redes neuronales dinámicas (DNN), lo cual representa una nueva aplicación a este tipo de redes originalmente introducidas como sistemas de generación de trayectorias dinámicas. • El problema de modelado del sistema de caminado utilizando ACPO, donde permanecı́a sin solución la coordinación del movimiento dentro de una pata, fue resuelto mediante la utilización de una red neuronal tipo feedforward a la salida de los vectores de estado de los osciladores acoplados. • Se propuso y se evaluó la utilización de redes neuronales feedforward para dos funciones: la transición entre distintos perfiles de trayectorias para las patas, y para la transformación de espacio de las referencias temporales en referencias espaciales. 113 • Fue posible incorporar en un modelo basado en principios neurofisiológicos el parámetro denominado factor de apoyo (β) perteneciente al modelo geométrico convencional de caminado, aquı́ representado mediante una curva de compansión de la fase del vector de referencia temporal de cada pata. • Se evaluó la utilización de simples señales oscilatorias como referencias temporales del sistema de locomoción. • Se observó una dependencia en la convergencia a un comportamiento oscilatorio del sistema temporal implementado con ACPO, en función del parámetro g que controla la magnitud de la componente tangencial del campo atractor oscilatorio. • Mediante la incorporación de las redes neuronales feedforward, fue posible obtener un modelo cuya estructura principal es independiente a la cinemática especı́fica de las patas del robot. • Se logró desarrollar un modelo del sistema de caminado basado en el concepto de generador central de patrones, utilizando para ello osciladores acoplados y redes neuronales. Dicho modelo permite el control de manera explı́cita de la velocidad de caminado, modo de locomoción en función de las relaciones de fase entre las patas, control del factor de apoyo de cada pata, ası́ como el control de la trayectoria espacial descrita por la punta de cada una de las patas. Cabe destacar que el trabajo asociado a la primera propuesta de modelo para el sistema de locomoción (Sección 5.1), basada en referencias temporales simples y redes neuronales feedforward dió pie a una publicación [45] en los Lecture Notes in Computer Science publicado por Springer Berlin/Heidelberg; en la misma el principal aporte reside en el uso de redes neuronales feedforward para efectuar transiciones suaves entre perfiles de trayectorias espaciales para las patas de un robot cuadrúpedo de 3 GDL, ası́ como la comparación entre diferentes señales de referencia temporal. 114 Por otra parte, se tiene que la segunda propuesta de modelo de locomoción aquı́ desarrollada (Sección 5.2) fué presentada en el marco de la Conferencia Internacional de Robots Caminantes y Escaladores (CLAWAR 2006), y publicada en las actas de dicha conferencia [46]; siendo el principal aporte de la misma la resolución de la coordinación entre las patas mediante ACPO a la vez que se coordina el movimiento de cada pata mediante redes neuronales feedforward, y el control directo del factor de apoyo de cada pata mediante una curva de compansión. Producto del proceso de investigación efectuado en la revisión del estado del arte en modelado neurofisiológico del sistema locomotor en animales y robots, ası́ como de las pruebas y observaciones efectuadas durante el desarrollo del presente trabajo se obtuvo un conjunto de resultados a partir de los cuales se desprende una serie de conclusiones. Estas pueden ser resumidas de la siguiente manera: • Es posible modelar el sistema de locomoción en robots cuadrúpedos mediante el uso de principios neurofisiológicos. Mediante la debida modificación del sistema generador de referencias temporales, debe ser posible extender éste enfoque a otros tipos de máquinas caminantes. • La separación del problema de locomoción en dos problemas, como son la coordinación de las relaciones de fase entre las patas y el movimiento controlado de las articulaciones de cada pata, simplifica notablemente el diseño e implementación del sistema completo. • Las redes neuronales recurrentes (CTRNN) pueden modelar al sistema locomotor como un generador central de patrones, pero las técnicas existentes tanto para la sı́ntesis como análisis de los parámetros de las mismas dificultan la implementación directa de un sistema de control de caminado. • El uso de CTRNN para locomoción de robots con patas se complica conforme aumenta el numero de patas en la plataforma robótica, o el número de articulaciones 115 actuadas en cada pata. • La sı́ntesis de los parámetros de un CPG descrito mediante CTRNN, utilizando para ello AGs con una función de fitness basada en el análisis de las formas de onda de salida de la red no aseguran la convergencia a una solución aceptable como secuencia de caminado. En general uso de AGs no asegura convergencia absoluta al minimo local de un problema. • El uso de AGs para la sı́ntesis de una CTRNN oscilatoria a utilizar como sistema de referencia temporal resulta poco práctico ya que no provee un método analı́tico para el control directo del comportamiento temporal del sistema de caminado. • El uso de una red neurona tipo feedforward en el modelo aquı́ propuesto para locomoción, exhibe el problema de sobreentrenamiento asociado con el proceso de entrenamiento y la estructura de la capa escondida de la red (número de neuronas escondidas). Consecuencia de este fenómeno, a nivel de la salida del generador de referencias se observan oscilaciones que pueden llegar a reducir la estabilidad del robot durante el caminado. • La implementación del factor de apoyo (β) como una compansión de la fase de la referencia temporal permite controlar de manera directa dicho parámetro, control del cual no se dispone en los modelos neurofisiológicos propuestos hasta ahora por otros autores. • En el modelo de caminado propuesto basado en ACPO, las funciones de transición suave entre las relaciones de fase de los distintos modos de caminado son redundantes, debido a que el sistema oscilatorio está descrito por ecuaciones diferenciales acopladas con las cuales los vectores de estado del sistema evolucionan de manera continua hasta converger a un comportamiento oscilatorio 116 6.2 Trabajos futuros Dentro del área de modelado del sistema locomotor en robots caminantes utilizando principios neurofisiológicos, existen varios aspectos abordados durante el presente trabajo que dan pie a futuros trabajos de investigación. También existen otros temas que se sugiere sean estudiados con mayor detalle a fin de complementar el trabajo aquı́ efectuado. A continuación se mencionan algunos de ellos: • En lo que respecta al modelado del sistema locomotor utilizando redes recurrentes, es necesario efectuar una revisión de diferentes técnicas de entrenamiento, distintas a los algoritmos genéticos. Las técnicas de entrenamiento a evaluar deben proveer de una metodologı́a que permita entrenar las redes recurrentes utilizando como ejemplos las trayectorias espaciales que se deseen como referencias de ángulos para las articulaciones de las patas. También se debe hacer énfasis en la posibilidad de controlar las relaciones de fase entre las redes que manejan a cada una de las patas. • Se debe estudiar la posibilidad de implementar el sistema de generación de referencias espaciales mediante ecuaciones diferenciales acopladas, tales como las empleadas en ACPO. Dicha implementación debe orientarse a la generación de un espacio de atractores, donde los vectores de estado converjan a la trayectoria espacial deseada para controlar cada pata. Es de especial relevancia poder controlar la trayectoria final del sistema en función de los parámetros utilizados en el modelo geométrico de locomoción. • En lo que respecta a la generación de modos de caminado para ambientes no estructurados, debe estudiarse el diseño de un sistema de control que se base en la información de realimentación proveniente de sensores de inclinación y aceleración, para el control de la estabilidad de la plataforma robótica, ası́ como el uso de sensores de fuerza en los extremos de las patas y las articulaciones para el control de distribución de fuerzas en cada uno de los actuadores. Se puede contemplar el uso 117 de otros sensores, manteniéndose el concepto de control directo sobre el modelo sin necesidad de incluir etapas posteriores donde se modifiquen las referencias de ángulo y velocidad de los actuadores. • Para el modelo propuesto de generador de modos de caminado, el cual utiliza redes neuronales feedforward para la transformación y transición entre perfiles de trayectorias, se recomienda evaluar el impacto de otras técnicas de entrenamiento a fin de evitar la ocurrencia de sobreentrenamiento, el cual incide directamente sobre la estabilidad de la plataforma. Dicha evaluación debe contemplar el estudio del impacto del número de elementos en la red neuronal en aspectos como estabilidad, vibraciones y factor de apoyo del caminado resultante. Se debe estudiar la implementación de tales redes utilizando otras funciones de transferencia para las neuronas en la capa escondida. • Es necesario estudiar el impacto de las variaciones del módulo de los vectores de estado de los ACPO, durante las transiciones de modos de caminado. Se puede evaluar la normalización de dichos vectores o incluir una etapa de control de amplitud paralela a la etapa de compansión de la fase de los vectores. Ésto con el fin de reducir el tiempo de permanencia de las referencias temporales en puntos en el espacio que no pertenecen a las trayectorias utilizadas como ejemplos de entrenamiento de la red neuronal feedforward. • Como variante del modelo de generador propuesto, basado en ACPO, se puede estudiar el desempeño del mismo utilizando la información de módulo y ángulo proveniente de los vectores de estado de los osciladores, en lugar de las componentes X y Y de los mismos. Dicha transformación facilita la implementación de la compansión para el factor de apoyo, y de la propuesta previamente mencionada con respecto a la normalización de las amplitudes de los vectores. • Para la generación de modos de caminado estáticamente estables, debe efectuarse una modificación en el modelo mediante la inclusión del factor de desplazamiento en el plano paralelo a la superficie de locomoción, a fin de aumentar el margen 118 de estabilidad estática de la plataforma. Dicho factor de desplazamiento puede ser incluido durante el proceso de sı́ntesis de la red neuronal, o a nivel de las salidas de referencia para la posición del elemento final de las patas. 119 Referencias Bibliográficas [1] D. J. Todd. Walking Machines. An Introduction To Legged Robotics. Kogan Page Ltd., Pentonville Road, London N1 9JN, 1st edition, 1985. [2] Hector Montes Franceschi. Análisis, Diseño y Evaluación de Estrategias de Control de Fuerza en Robots Caminantes. PhD thesis, Universidad Complutense de Madrid, 2005. [3] Werner M. Kistler Wulfram Gerstner. Spiking Neuron Models. Single Neurons, Populations, Plasticity. Cambridge University Press, August 2002. [4] Aude Billard and Auke Jan Ijspeert. Biologically inspired neural controllers for motor control in a quadruped robot. In IJCNN’2000. International Joint Conference on Neural Network, July 2000. [5] A. Billard and A.J. Ijspeert. Biologically inspired neural controllers for motor control in a quadruped robot. In Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks – IJCNN2000, volume VI, pages 637–641. IEEE Computer Society, 2000. [6] Jorg Conradt and Paulina Varshavskaya. Distributed central pattern generator control. Technical report, ETH / University Zurich, 2003. [7] J. Schmitz. Biologically inspired controller for hexapod walking: Simple solutions by exploiting physical properties. Biol. Bulletin, pages 195–200, April 2001. [8] Lucia S. Simó M. Anthony Lewis. Elegant stepping: A model of visually triggered gait adaptation. Connection Science, 11, Decembre 1999. [9] M. Anthony Lewis. Perception driven robot locomotion. Journal Robot Society of Japan, pages 51–56, April 2002. [10] H. Kimura Y. Fukuoka and A. Cohen. Adaptive dynamic walking of a quadruped robot on irregular terrain based on biological concepts. International Journal of Robotics Research, 22(3-4):187–202, March-April 2003. [11] Hiroshi Kimura, Yasuhiro Fukuoka, Y. Hada, and K. Takase. Three-dimensional adaptive dynamic walking of a quadruped - rolling motion feedback to cpgs controlling pitching motion. In Proceedings of the 2002 IEEE International Conference on Robotics and Automation, ICRA 2002., pages 2228–2233, 2002. 120 [12] J. E Bares and W. L. Whittaker. Configuration of autonomous walkers for extreme terrain. The International Journal of Robotics Reserach, 12(6):621–649, 1993. [13] Elena Garcia and Pablo Gonzalez de Santos. Adaptive periodic straight forward/backward gait of a quadruped. In 13th International Symposium on Measurement and Control in Robotics, Madrid, Spain, December 2003. [14] S. Talebi, Ioannis Poulakakis, Evangelos Papadopoulos, and Martin Buehler. Quadruped robot running with a bounding gait. In ISER, pages 281–289, 2000. [15] John C. Gallagher Hillel J. Chiel, Randall D. Beer. Evolution and analysis of model cpgs for walking: I. dynamical modules. Journal of Computational Neuroscience, pages 99–118, 1999. [16] John C. Gallagher Hillel J. Chiel, Randall D. Beer. Evolution and analysis of model cpgs forwalking: Ii. general principles and individual variability. Journal of Computational Neuroscience, pages 119–147, 1999. [17] S. Amari. Characteristic of the random nets of analog neuron-like elements. IEEE Transaction on System, Man and Cybernetics, SMC-2:643–657, 1972. [18] Buchli J. and Auke Jan Ijspeert. Distributed central pattern generator model for robotics application based on phase sensitivity analysis. In Proceedings of 1st International Workshop Bio-ADIT, 2004. [19] J. Buchli and A.J. Ijspeert. Distributed central pattern generator model for robotics application based on phase sensitivity analysis. In A.J. Ijspeert, M. Murata, and N. Wakamiya, editors, Biologically Inspired Approaches to Advanced Information Technology: First International Workshop, BioADIT 2004, volume 3141 of Lecture Notes in Computer Science, pages 333–349. Springer Verlag Berlin Heidelberg, 2004. [20] R. M. Ghigliazza and P. Holmes. A minimal model of a central pattern generator and motoneurons for insect locomotion. In Press, April 2004. [21] R. M. Ghigliazza and P. Holmes. A minimal models of bursting neurons: The effects of multiple currents and timescales. SIAM J. on Applied Dynamical Systems, 3(4):636– 670, 2004. [22] D. Wettergreen, H Pangels, and J. Bares. Behavior-based gait execution for the dante ii walking robot. IEEE International Conference on Intelligent Robots and Systems (IROS), August 1995. [23] Juan Carlos Grieco Silva. Robots escaladores. Consideraciones acerca del diseño, estabilidad y estrategias de control. PhD thesis, Universidad de Vallavolid, Abril 1997. [24] A. L. Hodgkin and A. F. Huxley. A quantitative description of ion currents and its applications to conduction and excitation in nerve membranes. Journal of Physiology, 117:500–544, 1952. 121 [25] Eve Marder. Moving rythms. Nature, 410:755, Abril 2001. [26] Marder E., Bucher D., Schulz D., and Taylor A. Invertebrate central pattern generator moves along. Current Biology, 15:685–699 (R), September 2005. [27] Arthur D. Kuo. The relative roles of feedforward and feedback in the control of rhythmic movements. Motor Control, 6:129–145, 2002. [28] A.J. Ijspeert and J. Kodjabachian. Evolution and development of a central pattern generator for the swimming of a lamprey. Artificial Life, 5(3):247–269, 1999. [29] Pablo Zegers and Malur K. Sundareshan. Trajectory generation and modulation using dynamic neural networks. 2003. [30] Pablo Zegers and M.K. Sundareshan. Periodic motions, mapping ordered sequences, and training dynamic neural networks to generate continuos and discontinuos trajectories. In IJCNN 2000, Como, Italy, 2000. [31] K. Funahashi and Y.Ñakamura. Approximation of dynamical systems by continuous time recurrent neural networks. Neural Networks, 6:801–806, 1993. [32] Valentin A. Nepomnyashchikh and Konstantin A. Podgornyj. Emergence of adaptive searching rules from the dynamics of a simple nonlinear system. Adaptive Behaviour, 11(4):245–265, 2003. [33] Artur M. Arsenio. Tuning of neural oscillators for the design of rhythmic motions. In ICRA, pages 1888–1893, 2000. [34] J. Ames. Design methods for pattern generation circuits. Master’s thesis, Case Western Reserve, 2003. [35] Ezequiel Di Paolo. Evolving robust robots using homeostatic oscillators. Technical report, University of Sussex, 2002. [36] Rainer W. Paine and Jun Tani. Evolved motor primitives and sequences in a hierarchical recurrent neural network. In GECCO (1), pages 603–614, 2004. [37] Alan Solidum M. Anthony Lewis, Andrew H. Fagg. Genetic programming approach to the construction of a neural network for control of a walking robot. IROS’92, pages 2618–2623, 1992. [38] M. Lewis, A. Fagg, and G. Bekey. Genetic algorithms for gait synthesis in a hexapod robot, 1993. [39] J. Buchli, L. Righetti, and A.J. Ijspeert. A dynamical systems approach to learning: a frequency-adaptive hopper robot. In Proceedings of the VIIIth European Conference on Artificial Life ECAL 2005, Lecture Notes in Artificial Intelligence, pages 210–220. Springer Verlag, 2005. 122 [40] Susuki R. Nishii J. Oscillatory network model which learns a rhytmic pattern of an external signal. In IFAC Symposium, pages 501–502, 1994. [41] F-S Tsung. Modeling Dynamical Systems with Recurrent Neural Networks. PhD thesis, Univ. of California, San Diego, 1994. [42] Colin Molter. Chaos in small recurrent neural networks : theoretical and practical studies. Technical report, Univ. Libre de Bruxelles., 2004. [43] K. I. Funahashi. On the approximate realization of continuous mapping by neural networks. Neural Networks, 2:978–982, 1989. [44] H. White K. Hornik, M. Stinchcombe. Multilayer feedforward networks are universal function approximators. Neural Networks, 2:359–366, 1989. [45] Cappelletto J., P. Estévez, W. Medina, L. Fermı́n, J. M. Bogado, J. C. Grieco, and G. Fernández. Gait synthesis and modulation for quadruped robot locomotion using a simple feed-forward network. In Lecture Notes in Computer Science - 4029, pages 731–739. Springer Berlin / Heidelberg, June 2006. [46] Cappelletto J., Estevez P., J.C. Grieco, G. Fernandez-Lopez, and M. Armada. A cpgbased model for gait synthesis in legged robot locomotion. In Proceedings CLAWAR 2006, pages 59–64, Brussels, Belgium, 2006.