Generador de modos de caminado en robots cuadrúpedos

Anuncio
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.
Descargar