63 Elizabeth Sede No Bustos
-
Upload
ricardo-guerrero -
Category
Documents
-
view
38 -
download
2
Transcript of 63 Elizabeth Sede No Bustos
cenidet ®
Centro Nacional de Investigación y Desarrollo Tecnológico
Coordinación de Mecatrónica
TESIS DE MAESTRÍA EN CIENCIAS
Locomoción de un Robot Cuadrúpedo: Un Enfoque a Celdas Neuronales Analógicas
Presentada por:
Elizabeth Sedeño Bustos
Ingeniero Electrónico por el I.T. de Cuautla
Como requisito para la obtención del grado de: Maestría en Ciencias en Ingeniería en Mecatrónica
Director de Tesis: Dr. Luis Gerardo Vela Valdés
Co - Director de Tesis: Dr. Andrés Blanco Ortega
Cuernavaca, Morelos, México Julio del 2011
cenidet
®
Centro Nacional de Investigación y Desarrollo Tecnológico Coordinación de Mecatrónica
TESIS DE MAESTRÍA EN CIENCIAS
Locomoción de un Robot Cuadrúpedo: Un Enfoque a Celdas Neuronales Analógicas
Presentada por:
Elizabeth Sedeño Bustos Ingeniero Electrónico por el I.T. de Cuautla
Como requisito para la obtención del grado de:
Maestría en Ciencias en Ingeniería en Mecatrónica
Director de Tesis: Dr. Luis Gerardo Vela Valdés
Co - Director de Tesis: Dr. Andrés Blanco Ortega
Jurado: Dr. Enrique Quintero Mármol Márquez – Presidente M.C. Wilberth Melchor Alcocer Rosado – Secretario
Dr. Luis Gerardo Vela Valdés – Vocal Dr. Andrés Blanco Ortega – Vocal Suplente
Cuernavaca, Morelos, México Julio del 2011
cenidet Aceptación del Documento de Tesis
i
Documento de Aceptación del documento de tesis
NO IMPRIMIR
cenidet Autorización de impresión de Tesis
iii
Documento Autorización de impresión de tesis
NO IMPRIMIR
cenidet Dedicatoria
v
DEDICATORIA
A ti DIOS, por no abandonarme. Gracias por ayudarme a levantarme en mis fracasos, por aprender de ellos y principalmente por permitirme realizar el sueño más
importante de mi vida.
A mis padres: con mucho respeto, gracias por quererme tal y como soy, por su apoyo y comprensión. Aquí tienen mi esfuerzo… tarde pero seguro… este triunfo es de
nosotros, gracias por apoyarme y creer siempre en mí… espero ser su orgullo.
A mis hermanas: Monse: Mi mani gracias por el apoyo incondicional que me brindaste todo este tiempo, por tu compañía, tus consejos, por los dias que me acompañaste en mis
desvelos.
Fide: Mi chikis por apoyarme en los momentos mas dificiles, por tus consejos, por escucharme, por acompañarme en mis desvelos y preocuparte por mi. Con mucho cariño les
dedico esta tesis.
A mis Abuelitos y Familia por su ayuda y sus consejos
cenidet Agradecimientos
vii
AGRADECIMIENTOS
Agradezco al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) y a todo el personal docente, administrativo y auxiliar por brindarme los medios necesarios para mi formación académica. A la Dirección General de Educación Superior Tecnológica (DGEST) por el apoyo económico brindado para poder realizar y culminar mis estudios de maestría. A mis profesores: Dr. Marco A. Oliver, Dr. Enrique Quintero, Dr. Carlos M. Astorga, M.C. Wilberth M. Alcocer, M.C. José Luis González, Dr. Luis Gerardo Vela, Dr. Andrés Blanco, Dr. Darius Szwedowicz, M.C. José Martín Gómez, M.C. Pedro R. Mendoza, Dr. Alberto López, M.C. Luis Gracia por todos sus conocimientos brindados. En especial deseo agradecer al Dr. Blanco y el Dr. Vela, mis asesores de tesis por toda la paciencia y su valioso tiempo, conocimiento que me sirvieron de gran ayuda. Gracias por todo el apoyo, considero que ustedes fueron mi mejor elección, porque me han servido como ejemplo y deseo contar siempre con su sabiduría y amistad. Al Dr. Enrique Quintero y M.C. Wilberth M. Alcocer, mis revisores de tesis por sus valiosos consejos y por las observaciones realizadas a este trabajo de tesis; ya que me ayudan hacer una gran profesionista. A la secretaría Roció y Nadia por el apoyo y consejos que me brindaron en este tiempo. A mis compañeros y amigos: Omar A. Ruiz, Miguel A. Carreola, Emmanuel Santiago, Aurelio Brizuela, Cesar Guzmán y Hugo Soto, con quienes compartí aulas, proyectos, tareas, desveladas, presión y angustia, les agradezco a todos ustedes el haberme permitido hacer equipo a su lado. En especial a Omar A. Ruiz por estar en esta etapa de mi vida, gracias por las risas y más risas, enojos, tristezas, por tu apoyo incondicional, consejos, juegos de volibol etc. Eres el mejor amigo que he tenido en mi vida. Siempre contaras conmigo. GRACIAS!!.
Agradecimiento cenidet
viii
A mis compañeros de electrónica y mecánica: Rodolfo A. Vargas, Eusebio A. Martínez, Marlem Flores, Vicente Solano, Vicente A. Solano, Carmen Juárez, Irán Loeza, Miguel Beltrán, Tomas Higareda, Víctor Pavón, Antonio Ávila, Juan Paz. Gracias por su apoyo y amistad en esta etapa de mi vida. En especial a Rodolfo A. Vargas por tu apoyo incondicional en los momentos más difíciles de mi vida, los consejos que me brindaste en este largo camino. Por estar conmigo en las victorias y derrotas. Gracias por estos 7 años 9 meses de conocernos. Al Dr. Aguayo por sus sabios consejos, su amistad, por permitirme ser parte del equipo de futbol del CENIDET. Muchas Gracias. Al Dr. Abraham Claudio Sánchez por su apoyo que me brindo en mis estudios. A la Sra. Inés por ser una madre para mí en el tiempo que estuve en Cuernavaca, por sus consejos, por cuidarme cuando lo necesitaba y por escucharme.
cenidet Contenido
ix
Contenido
Contenido .................................................................................................................................. ix
Resumen .......................................................................................................................................... xiii
Abstract ............................................................................................................................................. xv
Lista de Acrónimos ....................................................................................................................... xvii
Nomenclatura ................................................................................................................................. xix
Lista de Figuras............................................................................................................................... xxi
Lista de Tablas ............................................................................................................................... xxii
Capítulo 1 Introducción ................................................................................................................ 1
1.1 Antecedentes ........................................................................................................................... 2
1.2 Problema .................................................................................................................................. 8
1.3 Estado del Arte ....................................................................................................................... 8
1.4 Propuesta de solución .......................................................................................................... 10
1.5 Objetivos Generales y Particulares. ................................................................................... 10
1.6 Justificación ........................................................................................................................... 10
1.7 Metas ...................................................................................................................................... 11
1.8 Alcances y Limitaciones ...................................................................................................... 11
Capítulo 2 Generador Central de Patrones (GCP) .................................................................. 13
2.1 Principios Biológicos ............................................................................................................ 14
2.2 Generador Central de Patrones (GCP) .............................................................................. 15
2.3 Redes Neuronales Artificiales (RNA) ................................................................................ 16
2.3.1Aprendizaje en este tipo de neuronas ......................................................................... 18
2.3.1.1 Aprendizaje Supervisado ...................................................................................... 18
2.4 Modelo Matemático de las Redes Neuronales Celular (CNN) ...................................... 18
2.4.1 Modelo Matemático ...................................................................................................... 20
2.4.2 Simulación en MatLab ................................................................................................. 20
2.5 Simulación en ORCAD ........................................................................................................ 21
2.6 Cambio de Fase y Frecuencia ............................................................................................. 24
2.6.1 Fase .................................................................................................................................. 24
2.6.2 Cambio de Frecuencia................................................................................................... 27
Contenido cenidet
x
Capítulo 3 Robot Cuadrúpedo .................................................................................................. 29
3.1 Definición y Clasificación .................................................................................................... 30
3.2 Tipos de Locomoción ........................................................................................................... 31
3.3 Caminado Estático y dinámico. .......................................................................................... 32
3.4 Disposiciones de patas en robots cuadrúpedos caminantes .......................................... 32
3.5 Centro de Gravedad (CG) ................................................................................................... 36
3.6 Diseño del Robot Cuadrúpedo ........................................................................................... 38
3.6.1 Diseño ............................................................................................................................. 38
3.6.1.1 Topes mecánicos ..................................................................................................... 38
3.6.1.2 Pies Anchos ............................................................................................................. 39
3.6.1.3 Fricción ..................................................................................................................... 39
3.7 Medidas del robot cuadrúpedo .......................................................................................... 41
3.8 Cálculos y Simulación del Robot y su CG ........................................................................ 41
3.9 Funcionamiento del Servomotor ....................................................................................... 43
Capítulo 4 Construcción, Pruebas y Resultados ..................................................................... 47
4.1 Elaboración de Piezas del Robot ........................................................................................ 48
4.1.1 Piezas elaboradas .......................................................................................................... 48
4.1.1.1 Cuerpo ..................................................................................................................... 48
4.1.1.2 Piernas ...................................................................................................................... 49
4.2 Ensamble completo del robot ............................................................................................. 50
4.3 Conexión de la CNN ............................................................................................................ 50
4.3.1 Desfase ............................................................................................................................ 50
4.3.2 Frecuencia ....................................................................................................................... 51
4.4 Interfaz CNN-Servomotor .................................................................................................. 52
4.4.1 Desarrollo del algoritmo .............................................................................................. 54
4.5 Pruebas................................................................................................................................... 61
4.5.1 Señal (Y1) del CNN con servomotor .......................................................................... 61
4.5.2 Señal de la CNN (Y1) con dos servos. ........................................................................ 62
4.5.3 Señales de la CNN (Y1 y Y3) con cuatro servomotores. .......................................... 62
4.5.4 Integración de las neuronas al cuerpo del robot ....................................................... 63
4.5.4.1 Señales de la CNN (Y1 y Y3) con el ensamble del robot ................................... 64
4.5.4.2 Cambio de frecuencia o cambio de caminado a trote. ...................................... 65
4.5.4.3 Locomoción en Rampa. ......................................................................................... 65
4.5.5 Receptor y transmisor ................................................................................................... 66
cenidet Contenido
xi
4.6 Resultados Finales. ............................................................................................................... 68
Capítulo 5 Conclusiones ............................................................................................................. 69
5.1 Conclusiones ......................................................................................................................... 70
5.2 Contribución ......................................................................................................................... 70
5.3 Trabajos Futuros ................................................................................................................... 71
Referencia Bibliográfica ................................................................................................................. 73
Anexos ............................................................................................................................................. 77
Anexo A: Dibujo Robot Cuadrúpedo ...................................................................................... 79
Anexo B: Programa en C-Compiler ..................................................................................... 83
Anexo C: Circuitos Esquemáticos ............................................................................................ 95
Anexo D: Circuitos Impresos .................................................................................................. 101
Anexo D1 Disposición espacial de los componentes del robot...................................... 102
Anexo D2 Diseño del Transmisor ...................................................................................... 102
Anexo D3 Diseño del Receptor ........................................................................................... 103
Anexo D4 Diseño de la CNN 1 y 2 ..................................................................................... 103
Anexo D5 Diseño del Circuito Principal ........................................................................... 104
Anexo E: Hojas de Datos ......................................................................................................... 107
Contenido cenidet
xii
cenidet Resumen
xiii
Resumen
Recientemente los investigadores en robótica se han enfocado al estudio de
robots caminantes, ya que pueden generar locomoción en terrenos irregulares. La cual se puede conseguir mediante el enfoque biológico y el enfoque clásico. El enfoque biológico se define un conjunto de células denominadas Redes Neuronales Celulares (CNN) especializadas capaces de mostrar un comportamiento rítmico incluso en ausencia de estímulo, este grupo de células se encuentra en el sistema nervioso central (SNC).
En el presente tesis se mostraran ecuaciones de la CNN para generar locomoción en un robot cuadrúpedo. Las ecuaciones mostradas en este artículo reducen el número de neuronas de 6 a 4. Al modificar los parámetros de la CNN, el robot cambiará la locomoción (de caminado a trote) utilizando un transmisor. Esta red se implementa a un robot cuadrúpedo. La locomoción del robot fue probado en una rampa con diferentes tipos de ángulos.
Resumen cenidet
xiv
cenidet Abstract
xv
Abstract
Recently Robotics researchers have focused on studying walking robot´s, since they can generate locomotion on rough terrain. This may be gotten by two approaches, the biological and the classic approach. The biological approach is a set of cells called Cellular Neural Network (CNN); which is able to show a rhythmic behavior even in absence of stimulus, this set of cells is found in the Central Nervous System (CNS).
In this thesis we will show equations of the CNN to generate locomotion in a quadruped robot. The equations shown in this paper decrease the number of cells from 6 to 4. By modifying the CNN parameters, the robot will change its locomotion (from walking to jogging), by using a transmitter. This network is implemented in a quadruped robot. The robot's locomotion was tested in the ramps with different kinds of angles.
Abstract cenidet
xvi
cenidet Lista de Acrónimos
xvii
Lista de Acrónimos
µK Fricción Dinámica
µS Fricción Estática
ADC Convertidor Analógico - Digital
C Célula
CD Corriente Directa
CG Centro de Gravedad
CNN Red Neuronal Celular
D1 Pierna Derecha Delantera
D2 Pierna Derecha Trasera
GCP Generador Central de Patrones
GND Tierra
I1 Pierna Izquierda Delantera
I2 Pierna Izquierda Trasera
OFFSET Desviación del punto de referencia
PIC Controlador de Interfaz Periférico
PUMA Programmable Universal Manipulator for
Assembly
PWM Modulación por Ancho de Pulso
RNA Red Neuronal Artificial
SNC Sistema Nervioso Central
T Tiempo
Lista de Acrónimos cenidet
xviii
cenidet Nomenclatura
xix
Nomenclatura
Es la plantilla de retroalimentación (feedback template).
Es la plantilla de prealimentación, junto con A, llamada también plantilla
de control (control template).
Es el término de corriente de polarización (bias), usualmente una
constante.
Es la entrada del sistema.
Coordenadas
Es el estado de la neurona.
Es la salida de la neurona.
Volumen
Peso
Ganancia
Función de salida
Se refiere a la neurona en una malla de dos dimensiones.
Es la neurona con una vecindad de radio r de la
neurona.
Peso Especifico
Nomenclatura cenidet
xx
cenidet Lista de Figuras
xxi
Lista de Figuras Figura 1 (a) Numeración de piernas en animal cuadrúpedo, (b) tiempo, aire y suelo ....................... 3 Figura 2 Robot apoyo tres piernas ...................................................................................................... 7 Figura 3 Robot apoyo dos piernas ...................................................................................................... 7 Figura 4 Diagrama de bloques del funcionamiento de la propuesta de tesis. ................................. 10 Figura 5 Neurona Biológica. .............................................................................................................. 14 Figura 6 Esquema General del comportamiento en el andar en animales. ...................................... 15 Figura 7 Locomoción por medio de principios biológicos................................................................. 16 Figura 8 Neurona Artificial ............................................................................................................... 17 Figura 9 Simulación de la neurona. ................................................................................................... 20 Figura 10 Estado de una neurona X1y X2. ........................................................................................ 21 Figura 11 Salida de neurona Y1 y Y2. ............................................................................................... 21 Figura 12 configuraciones de amplificadores. .................................................................................. 22 Figura 13 Circuito eléctrico CNN. ...................................................................................................... 23 Figura 14 Salida del circuito y . ............................................................................................... 23 Figura 15 Salida para ecuacion (4) y (5) I=0 y J=1, 2, 3,…,6. ........................................................ 24 Figura 16 Conexión entre neuronas. ................................................................................................. 25 Figura 17 Señales de de la célula 1 y de la célula 2 del andar del hexápodo. ........................ 25 Figura 18 Conexión anillo entre cuatro neuronas............................................................................. 26 Figura 19 Conexión entre dos neuronas. .......................................................................................... 26 Figura 20 Señales del Sub CNN 1 (verde) y del Sub CNN 2 (rosa) desfasadas 180°. .............. 27 Figura 21 Señales con frecuencia 0.307Hz ........................................................................................ 27 Figura 22 Señales con frecuencia 0.571Hz ........................................................................................ 28 Figura 23 Clasificación de Robots. .................................................................................................... 30 Figura 24 Andar robot con tres piernas de apoyo. ........................................................................... 31 Figura 25 Andar robot con dos piernas de apoyo. ............................................................................ 31 Figura 26 Configuraciones de tipo de mamíferos. ............................................................................ 33 Figura 27 Configuración tipo reptil ................................................................................................... 34 Figura 28 Disposiciones geométricas utilizadas para obtener el máximo volumen de trabajo en el pie ...................................................................................................................................................... 34 Figura 29 Pierna tipo pantógrafo plano. ........................................................................................... 35 Figura 30 Pierna tipo ortogonal. ....................................................................................................... 35 Figura 31 Pierna tipo pantógrafo tridimensional cartesiano. ........................................................... 35 Figura 32 Centro de Gravedad (CG) de un cuerpo tridimensional ................................................... 36 Figura 33 Topes Mecánicos ............................................................................................................... 39 Figura 34 Dimensiones del pie .......................................................................................................... 39 Figura 35 Fricción pie concreto. ........................................................................................................ 40 Figura 36 Fricción Aluminio – aluminio. ............................................................................................ 40 Figura 37 Robot Cuadrúpedo Final. .................................................................................................. 41 Figura 38 Cálculo del CG del robot utilizando Solid Works. .............................................................. 42 Figura 39 Coordenadas del CG cuando un par de piernas están suspendidas en el aire mientras que las otras se encuentran en el suelo ................................................................................................... 43 Figura 40 Servomotor Hitec ® modelo HS-55 ................................................................................... 44 Figura 41 Funcionamiento de un servomotor .................................................................................. 45
Lista de Figuras cenidet
xxii
Figura 42 Cuerpo del robot y orificios para los servomotores. ........................................................ 48 Figura 43 Cuerpo del robot. .............................................................................................................. 48 Figura 44 Tornillos ............................................................................................................................. 49 Figura 45 Piezas de las piernas.......................................................................................................... 49 Figura 46 Ensamble de las piernas .................................................................................................... 49 Figura 47 Ensamble cuerpo – piernas ............................................................................................... 50 Figura 48 Conexión de neuronas ...................................................................................................... 50 Figura 49 Señales de salida CNN 1 y CNN 2 ...................................................................................... 51 Figura 50 Señal de la CNN 1 y pie del robot ...................................................................................... 52 Figura 51 Diagrama de bloques con offset ....................................................................................... 53 Figura 52 Circuito OFFSET ................................................................................................................. 53 Figura 53 Señales con OFFSET ........................................................................................................... 53 Figura 54 Señales y programa ........................................................................................................... 55 Figura 55 Posición del servomotor ................................................................................................... 55 Figura 56 Servomotor ....................................................................................................................... 61 Figura 57 Dos Servomotores y Neurona. .......................................................................................... 62 Figura 58 Cuatro servomotores y neuronas ..................................................................................... 63 Figura 59 Robot y neuronas .............................................................................................................. 64 Figura 60 Cambio de Frecuencia ....................................................................................................... 65 Figura 61Locomoción en rampa........................................................................................................ 66 Figura 62 Receptor ............................................................................................................................ 67 Figura 63 Diseño FINAL del prototipo de robot cuadrúpedo controlado por CNN. ......................... 68 Figura 64 Morfología de un pato ...................................................................................................... 72 Figura 65 Cuerpo del robot con los 4 circuitos ............................................................................... 102 Figura 66 Circuito Transmisor (a) Altium (b) circuito en control remoto ...................................... 102 Figura 67 Receptor con Relevadores .............................................................................................. 103 Figura 68 Circuito de la CNN1 y CNN2 ............................................................................................ 104 Figura 69 Circuito Principal ............................................................................................................. 104 Figura 70 Unión de las cuatro placas .............................................................................................. 105
Lista de Tablas Tabla 1 Fricción de materiales (Coeficiente de rozamiento estático y cinemático). ........................ 40 Tabla 2 Cálculo del CG del robot con las 4 piernas en el suelo. ........................................................ 42 Tabla 3 Características principales del servomotor HS-55 ................................................................ 44 Tabla 4 Variación de frecuencia al cambio de capacitor .................................................................. 51
cenidet LRC: ECNA
1
Capítulo 1 Introducción
La robótica es la ciencia y la tecnología de los robots. Se ocupa del diseño, manufactura y
aplicaciones de los robots. La robótica combina diversas disciplinas como son: la mecánica,
la electrónica, la informática, la inteligencia artificial y la ingeniería de control. Otras
áreas importantes en robótica son el álgebra, los autómatas programables y las máquinas de
estados.
Capítulo 1 Introducción cenidet
2
1.1 Antecedentes
Un robot es un dispositivo electrónico y generalmente mecánico que desempeña tareas
automáticamente, ya sea por medio de supervisión humana directa o a través de un
programa predefinido o siguiendo un conjunto de reglas generales [1].
Recientemente las investigaciones en robótica se enfocan hacia el desarrollo de
máquinas caminantes, debido a que en algunas aplicaciones se requiere de una
considerable movilidad, sobre todo cuando se tiene la necesidad de locomoción en
terrenos irregulares. Existen diferentes configuraciones en cuanto al tipo de
desplazamiento que llevan a cabo los robots. Una de ellas es la movilidad por medio de
piernas. Un robot con piernas puede estar compuesto de 6 piernas (hexápodo), 4 piernas
(cuadrúpedo), 3 piernas (trípodo), 2 piernas (bípedos o androides) o una pierna.
Entre las diferentes técnicas para el control de robots articulados se pueden
destacar dos tendencias: el enfoque clásico y el enfoque biológico. El enfoque clásico está
determinado por la física y las ecuaciones de cinemática inversa. Trata de obtener los
parámetros (posición, velocidad, etc.) de cada motor de las articulaciones, para colocar
cada extremidad del robot en una posición determinada a priori; este procedimiento
puede presentar inconvenientes como muchas operaciones y validez para una morfología
especifica. El enfoque biológico se basa en el “Generador Central de Patrones” (GCP) que
se define como un conjunto de células especializadas capaces de mostrar un
comportamiento rítmico incluso en ausencia de estímulo. Este tipo de conjunto de células
se encuentra en los sistemas nerviosos de los animales y existen una gran variedad, cada
uno orientado a una acción específica. Entre ellos está el CPG locomotor que controla el
ritmo locomotor y que ha servido para que aparezcan modelos artificiales para controlar
robots articulados; la ventaja es que actúan directamente sobre los músculos y existe una
sincronización entre ellos [2].
Por otra parte, al tratar de mover a un robot con piernas, se debe conocer su
posición en cada instante, y a su vez asegurar que el robot permanezca en equilibrio; para
esto se debe tomar en cuenta el número de patas, ya que entre menos sean, es más
complejo mantener el equilibrio; un claro ejemplo es el robot bípedo, al desplazarse
requiere necesariamente mantener el equilibro con una sola pata mientras la otra se
mueve, generando así una inestabilidad en cada paso. Para controlar este parámetro, se
analizan dos tipos de balance:
cenidet LRC: ECNA
3
El caminado estático o balance estático hace referencia a un sistema que
permanece balanceado manteniendo siempre su centro de masa verticalmente proyectado
sobre el polígono de soporte formado por sus bases de soporte; es por esto que mientras
un objeto permanezca en balance estático no se caerá. Tal es el caso del caminado estático
de un robot cuadrúpedo, en el cual cuando un pie se mueve el centro de masa no debe
estar fuera del área de soporte formada por los pies que continúan en contacto con la
tierra. [3]
Por otro lado el balance dinámico no funciona de esta manera. En este caso la
proyección vertical del centro de masa puede encontrarse fuera del área de soporte
formada por las bases del robot cuadrúpedo en periodos de tiempo. Esto permite que el
sistema presente cortos instantes de caída; sin embargo estos periodos de tiempo deben ser
pequeños y bien controlados para que el sistema no se torne inestable. [3]
En algunos casos, el proceso para el diseño de un robot ha sido delegado hacia la
imitación de estructuras del ambiente natural, especialmente para máquinas caminantes
donde las estructuras presentan poca simplicidad pero un amplio margen de
adaptabilidad. Por esta razón, algunos diseñadores de robots caminantes tratan de imitar
las criaturas de la naturaleza y, dependiendo de las tareas para las que serán destinadas,
tratar de imitar de la mejor forma posible las características de estas criaturas, creando
robots con mejores aproximaciones a éstos. Se investigó la locomoción de algunos
animales (mamíferos y reptiles), para dar una idea del diseño del prototipo que se
utilizará. La investigación se orienta solo en el caminado y al trote de animales ya que el
tema de tesis se enfoca a estos dos puntos. Los animales estudiados fueron los siguientes:
elefante, perro, jirafa, ñu, dragón de komodo y tortuga.
Para conocer el movimiento de las piernas de estos animales se toma en cuenta la
Figura 1 (a) donde I1 pertenece a la pierna izquierda delantera, I2 a la pierna izquierda
trasera, D1 pierna derecha delantera y D2 pierna derecha trasera. La Figura 1(b) indica el
tiempo (T) en el que la pierna esté en el aire (blanco) y tiempo que esté en el suelo (negro).
(a) (b)
Figura 1 (a) Numeración de piernas en animal cuadrúpedo, (b) tiempo, aire y suelo
T1 Tiempo
aire
suelo
Capítulo 1 Introducción cenidet
4
Elefante
Caminado: El caminado que tiene el elefante es el siguiente:
T1: En el tiempo uno, las cuatro piernas (extremidades) se encuentran en el suelo.
T2: El segundo tiempo es mover I1, mientras que las demás están en el suelo.
T3: I2 está en el aire mientras I1, D1 y D2 se encuentran en el suelo.
El caminado del elefante es colocar en todo momento tres piernas en el suelo
formando un triángulo, mientras que la otra se encuentra suspendida en el aire.
T1 T2 T3 T4 T5
I1
I2
D2
D1
Trote: El trote del elefante es el siguiente
T1: En el tiempo uno las cuatro piernas (extremidades) se encuentran en el suelo.
T2: El segundo se mueve I1 y D2, mientras que I2 y D1 están en el suelo.
T3: I2 y D1 está en el aire, mientras I1 y D2 se encuentran en el suelo.
El trote del elefante es colocar dos piernas en el suelo formando una línea, mientras
que las restantes se encuentran suspendidas en el aire.
T1 T2 T3 T4 T5
I1
I2
D2
D1
Jirafa
Caminado: El caminado que tiene la jirafa se muestra a continuación:
T1: En el tiempo uno las cuatro extremidades se encuentran en el suelo.
T2: El segundo tiempo se mueve D1 y D2, mientras que I1 y I2 están en el suelo.
cenidet LRC: ECNA
5
T3: I1 y I2 están en el aire mientras D1 y D2 se encuentran en el suelo.
El caminado de la jirafa es colocar dos (I1 y I2) piernas en el suelo formando una
línea, mientras que las otras (D1 y D2) se encuentran suspendidas en el aire. Este
movimiento para el robot es muy difícil ya que perdería muy fácilmente el
equilibrio, como el centro de gravedad se encuentra fuera del área de apoyo
haciendo que caiga hacia un lado.
T1 T2 T3 T4 T5
I1
I2
D2
D1
Trote: El trote que tiene la jirafa es el siguiente:
T1: En el tiempo uno las cuatro extremidades se encuentran en el suelo.
T2 y T3: En estos tiempos se mueve I1 y D1, mientras que I2 y D2 están en el suelo.
Observe que en el T3 la pierna I1 ya se encuentra en el suelo, junto con I2 y D2,
mientras que D1 sigue en el aire.
T4 y T5: I2 y D2 están en el aire mientras I1 y D1 se encuentran en el suelo. Observe
que en el tiempo T5 la pierna I2 ya se encuentra en el suelo, junto con I1 y D1,
mientras que D2 sigue suspendida en el aire.
El trote de la jirafa es colocar dos (I2 y D2) piernas en el suelo formando un línea,
mientras que las otras (I1 y D1) se encuentra suspendido en el aire. El robot perderá
con facilidad el equilibrio ya que el área de apoyo se localiza en las piernas traseras,
por lo tanto el centro de gravedad se encontrará fuera de ésta.
T1 T2 T3 T4 T5 T6 T7 T8
I1
I2
D2
D1
Capítulo 1 Introducción cenidet
6
Ñu
Caminado y trote: El caminado y el trote para el ñu es igual que el caminado de la
jirafa.
T1 T2 T3 T4 T5
I1
I2
D2
D1
Dragón de komodo y tortuga
Caminado y trote: El caminado y el trote de estos animales es el siguiente:
T1: El tiempo uno, las cuatro piernas (extremidades) se encuentran en el suelo.
T2: El segundo se mueve I1 y D2, mientras que I2 y D1 están en el suelo.
T3: I2 y D1 está en el aire, mientras I1 y D2 se encuentran en el suelo.
El caminado de estos animales es colocar dos piernas en el suelo, mientras que las
restantes se encuentran suspendidas en el aire. El trote es la misma secuencia lo que
cambia es la frecuencia.
T1 T2 T3 T4 T5
I1
I2
D2
D1
Hipopótamo
Caminado y trote: El caminado y el trote para el hipopótamo es igual que los reptiles,
solo que su morfología es diferente.
cenidet LRC: ECNA
7
T1 T2 T3 T4 T5
I1
I2
D2
D1
Con base en las secuencias de andar mostradas anteriormente, en la literatura se
encontraron dos tipos de locomoción en robots cuadrúpedos.
El primero coloca en todo momento el centro de masa del robot sobre el triángulo
de apoyo formado por los tres pies en contacto con el suelo, mientras el otro pie esta en
movimiento. Este tipo de caminado es del elefante (ver Figura 2). Las ventajas que tiene
este tipo de configuración es que nunca perderá el equilibrio ya que el centro de gravedad
se encuentra dentro del área de apoyo; una desventaja, es muy lento en su locomoción.
Figura 2 Robot apoyo tres piernas
Mientras que el segundo consiste en mantener en todo momento dos piernas del
robot en el suelo mientras las otras dos estan en movimiento, este tipo de locomocion lo
tiene el perro, la tortuga, dragón de komodo y el trote del elefante. La desventaja de este es
que llega a ser inestable, ya que el área de apoyo se reduce a una línea, la que forman las
piernas de apoyo. La ventaja de este es que su velocidad de locomoción es mayor, ya que
mueve dos piernas a su vez (Ver Figura 3).
Figura 3 Robot apoyo dos piernas
Capítulo 1 Introducción cenidet
8
1.2 Problema Con base en los párrafos anteriores, se pueden identificar dos problemas: el primero
consiste en generar un patrón útil para la locomoción de un robot cuadrúpedo por medio
de una red neuronal celular (CNN); el segundo problema consiste en diseñar y construir
un robot cuadrúpedo capaz de mantener el equilibrio durante la locomoción generada
por el patrón de comportamiento de la CNN antes mencionada.
1.3 Estado del Arte
En esta sección se habla de los trabajos realizados empleando redes neuronales
analógicas.
En la literatura se pueden encontrar diferentes modelos matemáticos de redes
neuronales, como las redes neuronales con retropropagación a través del tiempo [4],
perceptrón multicapa (MLP, por sus siglas en inglés) [5], Redes neuronales Nv [5][6],
Redes neuronales celulares [7]; de estas últimas se tiene la ventaja de que pueden ser
implementadas usando amplificadores operacionales [8] lo que permite que su
construcción sea de bajo costo.
G. Calderón implementó redes neuronales analógicas para controlar un péndulo
invertido, donde comprobó que los controladores basados en redes neuronales analógicas
son adecuados para resolver este tipo de problema; también desarrolló una metodología
para el diseño [9].
E. Martínez implementó 3 celdas neuronales analógicas, donde se probó y evaluó
las RNA en el control del robot tipo PUMA (Programmable Universal Manipulator for
Assembly), con el fin de controlar el seguimiento de una trayectoria del robot [10].
Otras investigaciones muestran un conjunto de algoritmos que permiten a un robot
caminante de seis piernas realizar su desplazamiento mediante acciones no establecidas ni
periódicas. Este modo de caminar es conocido como: locomoción libre [11]. El desarrollo
de estos algoritmos utiliza técnicas de lógica difusa para la toma de decisiones. La
valoración de los algoritmos se realiza mediante la simulación del proceso de locomoción
cenidet LRC: ECNA
9
del robot. Así mismo, muestra un algoritmo de control neuronal utilizado para dirigir
adecuadamente la ejecución de la locomoción del robot.
En [12] se expone ideas generales sobre el diseño e implementación de un robot
cuadrúpedo, destinado al estudio de los métodos de locomoción en máquinas caminantes.
Se estudia el análisis cinemático y dinámico que permite obtener diversos parámetros que
se presentarán durante la locomoción del robot. En función de estos parámetros y de los
actuadores se realiza un ajuste al diseño original obteniéndose los planos finales para la
construcción.
En [13] se desarrolla un generador de locomoción de un hexápodo utilizando dos
células neuronales analógicas, donde el objetivo era emular el caminado de un ser vivo
con seis patas, utilizando redes neuronales analógicas.
En [14] se ilustra un método para la generación de patrones de movimientos
rítmicos con sistemas dinámicos no lineales. Usando el ángulo de fase de un oscilador
canónico con propiedades de ciclo limitado, manipulando un sistema dinámico
desequilibrado por medio de la incorporación de señales arbitrarias al objeto. Las salidas
de los sistemas dinámicos perturbados son usadas para el control del caminado de un
robot cuadrúpedo con 12 grados de libertad.
En [15] se presentan la simulación y resultados experimentales del caminado y
trote dinámico de un robot bípedo donde se propone un método híbrido de generador
central de patrones para la realización de estos movimientos.
En [16] se estudia el control dinámico de los parámetros del aparato locomotor a través de la aplicación de pulsos discretos de la estimulación eléctrica al generador central de patrones (CPG) de la locomoción. Se presentan los datos de un modelo de hardware del CPG demostrando que estimulación temporal causa desviaciones breves del límite del ciclo de actividad del CPG.
En [17] se analiza las características de la locomoción dinámica de un robot
cuadrúpedo para los fines del control de la locomoción. Además, existe los parámetros de
control, cada uno de ellos puede controlar la velocidad de avance. Con esos parámetros el
robot presenta cualitativamente diferente comportamiento durante la locomoción.
Capítulo 1 Introducción cenidet
10
1.4 Propuesta de solución
Construir una CNN con cuatro neuronas basado en amplificadores operacionales
que permita generar un patrón oscilatorio para la locomoción de un robot cuadrúpedo
accionado por cuatro servomotores. El proceso general se describe en la Figura 4.
Figura 4 Diagrama de bloques del funcionamiento de la propuesta de tesis.
1.5 Objetivos Generales y Particulares.
Objetivos General: Evaluar el desempeño de las Redes Neuronales Celulares (CNN) en la
locomoción de un robot cuadrúpedo.
Objetivos particulares:
1) Hacer una revisión bibliográfica del tema de tesis.
2) Obtener, simular y construir el modelo de la CNN para 4 células.
3) Generar un cambio en el tipo de locomoción (caminado a trote).
4) Diseñar y construir un robot cuadrúpedo.
5) Probar la CNN con el robot cuadrúpedo.
6) Hacer el cambio de locomoción a distancia con un control remoto.
1.6 Justificación
El desarrollo de esta investigación se justifica ya que conlleva a:
Construir un robot cuadrúpedo que pueda ser utilizado para futuras
investigaciones en el Centro Nacional de Investigación y Desarrollo Tecnológico
(CENIDET).
Diseñar una CNN.
Implementar la CNN para generar locomoción en el prototipo de robot
cuadrúpedo.
RNC Electrónica Mecánica Locomoción
cenidet LRC: ECNA
11
1.7 Metas
La meta planteada para este proyecto es generar locomoción de caminado y trote mediante
el cambio de la frecuencia de la CNN en un robot cuadrúpedo.
1.8 Alcances y Limitaciones
Los alcances y limitaciones para este tema de tesis son los siguientes:
El diseño de la CNN será útil solo para generar locomoción para un tipo de andar
donde 2 piernas cruzadas se mantienen en el aire mientras que las otras 2 se
mantienen en el suelo, por lo que no será posible cambiar la secuencia de
movimientos de las piernas.
La velocidad de ambos tipos de locomoción del robot serán valores pre-
establecidos y fijos, por lo que no podrán variarse estas velocidades.
La locomoción del robot será eficiente solo en terrenos planos y con fricción.
La locomoción del robot solo podrá generarse en línea recta, por lo que no podrá
hacer cambios de dirección de manera independiente.
El cambio de locomoción podrá realizarse por medio de un control remoto.
Capítulo 1 Introducción cenidet
12
cenidet LRC: ECNA
13
Capítulo 2 Generador Central de Patrones
(GCP)
Para generar locomoción en un animal, hay que tener en cuenta el cerebro; en el
cerebro se encuentra una pequeña parte llamada cerebelo, el cual se encarga de la
sincronización y el refinamiento de patrones motores y musculares complejos, y tiene un
papel directo en la elaboración del ritmo y del equilibrio, en la fluidez y la delicadeza de los
movimientos. Dentro de éste se encuentra un grupo de células, denominadas neuronas.
Para saber el comportamiento de éstas, es importante tener en cuenta su fisiología
para comprender cómo los matemáticos e ingenieros tratan de imitar los mecanismos de
almacenamiento y procesamiento de éstos.
Capítulo 2 GCP cenidet
14
2.1 Principios Biológicos
El cerebro es uno de los órganos más complejos de los que dispone el ser humano
ya que su función es controlar todas las actividades que realizan cada uno de los órganos
del cuerpo, así como también es el encargado de desarrollar movimientos para realizar
todas las funciones.
El funcionamiento del cerebro se basa en el concepto de que la neurona es una
unidad anatómica y funcional independiente, integrada por un cuerpo celular del que
salen numerosas ramificaciones llamadas dendritas, capaces de recibir información
procedente de otras células nerviosas, y de una prolongación principal, el axón, que
conduce la información hacia las otras neuronas en forma de corriente eléctrica. Pero las
neuronas no se conectan entre sí por una red continua formada por sus prolongaciones,
sino que lo hacen por contactos separados por unos estrechos espacios denominados
sinapsis. La transmisión de las señales a través de las sinapsis se realiza mediante unas
sustancias químicas conocidas como neurotransmisores.
Figura 5 Neurona Biológica.
El sistema nervioso central (SNC) está constituido por el encéfalo y la médula
espinal; el SNC es el encargado de recibir y procesar las sensaciones recogidas por los
diferentes sentidos y de transmitir las órdenes de respuesta de forma precisa a los distintos
efectores.
Dentro del SNC se encuentra el Generador Central de Patrones (GCPs), es un
circuito neuronal complejo que contiene una serie de órdenes que, al activarse, producen
una secuencia de movimientos coordinados. Se cree que rige las acciones motoras rápidas
y las acciones determinadas genéticamente. Es capaz de producir un ritmo u oscilación en
los impulsos de las neuronas a los distintos músculos implicados en un patrón de
movimientos. Los experimentos medulares con gatos han llegado a la conclusión de que
cenidet LRC: ECNA
15
este eferente oscilatorio activa primero las motoneuronas de los músculos flexores de la
pierna y luego activa los extensores, luego los flexores otra vez, siguiendo un patrón
parecido al desplegado durante la locomoción [19].
El generador medular (GCP locomotor) es un mecanismo de la médula espinal que
consta de una red compleja de neuronas capaces de producir un comportamiento oscilante
(generación rítmica de actividad) que se cree que interviene en el control de ciertos
movimientos básicos de locomoción [19].
Figura 6 Esquema General del comportamiento en el andar en animales.
2.2 Generador Central de Patrones (GCP)
El GCP es un circuito neuronal de la médula espinal que es responsable por
actividad rítmica coordinada. Actualmente los biólogos asumen que el sistema nervioso
animal contiene un conjunto de células especializadas llamado GCP, más aún, existe una
gran variedad de GCP, cada uno orientado a una acción específica. Uno de ellos es el GCP
locomotor, que controla el ritmo de andar en mamíferos, ha cobrado una gran relevancia
Sistema Nervioso Central (SNC)
Generador Central de Patrones (GCP)
GCP Locomotor
Actuadores
Medio Ambiente
Retroalimentación Sensorial
Capítulo 2 GCP cenidet
16
en los estudios Biomatemáticos y aplicaciones en Bioingeniería con la aparición de los GCP
artificiales en robótica.
El GCP Locomotor produce ritmos que controlan la actividad de los músculos para
el movimiento de extremidades. El problema de la coordinación se resuelve empleando
controladores que implementen los modelos matemáticos de éste y encontrando los
valores adecuados para sus parámetros. A diferencia del enfoque clásico como se dijo en
temas anteriores, los controladores bioinspirados no se basan en el conocimiento de las
posiciones de ciertos puntos en el espacio, sino que actúan directamente sobre las
articulaciones (ver Figura 7). Son por tanto más rápidos, generan movimientos más
naturales y requieren, en general, de menor potencia de cálculo.
Figura 7 Locomoción por medio de principios biológicos.
2.3 Redes Neuronales Artificiales (RNA)
Las redes neuronas artificiales (RNA) son un paradigma de aprendizaje y
procesamiento automático inspirado en la forma en que funciona el sistema nervioso de
los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora
para producir un estímulo de salida.
El funcionamiento de las redes neuronales consiste en simular las propiedades
observadas en los sistemas neuronales biológicos a través de modelos matemáticos
recreados mediante mecanismos artificiales (como un circuito integrado). El objetivo es
conseguir que las máquinas den respuestas similares a las que es capaz de dar el cerebro
que se caracterizan por su generalización y su robustez.
Una red neuronal se compone de unidades llamadas neuronas. Cada neurona
recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida
viene dada las siguientes funciones.
cenidet LRC: ECNA
17
Una función de propagación (función de excitación), por lo general consiste en la
suma de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso
es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.
Una función de transferencia (función de activación), que se aplica al valor
devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y
generalmente viene dada por la interpretación que se quiere dar a dichas salidas. Algunas
de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y
la tangente hiperbólica (para obtener valores en el intervalo [-1,1]). Ver Figura 8.
Figura 8 Neurona Artificial
Las ventajas que tienen las RNA son las siguientes:
Aprendizaje: las RNA tienen la habilidad de aprender mediante una etapa que se llama
etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez
que se le indica cuál es la salida (respuesta) esperada.
Auto organización: una RNA crea su propia representación de la información en su
interior, descargando al usuario de ésto.
Tolerancia a fallos: debido a que una RNA almacena la información de forma redundante,
ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente.
Tiempo real: la estructura de una RNA es paralela, por lo cual si esto es implementado con
computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en
tiempo real.
Capítulo 2 GCP cenidet
18
2.3.1Aprendizaje en este tipo de neuronas
El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una información de entrada. Los cambios que se producen durante el proceso
de aprendizaje se reducen a la destrucción, modificación y creación de conexiones entre las
neuronas. En los sistemas biológicos existe una continua creación y destrucción de
conexiones. En los modelos de redes neuronales artificiales, la creación de una nueva
conexión implica que el peso de la misma pasa a tener un valor distinto de cero. De la
misma forma, una conexión se destruye cuando su peso pasa a ser cero.
El aprendizaje es esencial para la mayoría de las arquitecturas de redes neuronales;
por lo que la elección de un algoritmo de aprendizaje es un punto central en el desarrollo
de una red.
El aprendizaje implica que una unidad de procesamiento es capaz de cambiar su
comportamiento entrada/salida como resultado de los cambios en el medio.
2.3.1.1 Aprendizaje Supervisado
El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se
realiza mediante un entrenamiento controlado por un agente externo (supervisor,
maestro) que determina la respuesta que debería generar la red a partir de una entrada
determinada. El supervisor comprueba la salida de la red y en el caso de que ésta no
coincida con la deseada, se procederá a modificar los pesos de las conexiones, con el fin de
conseguir que la salida obtenida se aproxime a la deseada [9][20].
Por lo tanto una red neuronal analógica se entrena mediante el aprendizaje
supervisado, ya que requiere a un agente externo (persona o control remoto) para cambiar
los parámetros y así obtener la salida deseada.
2.4 Modelo Matemático de las Redes Neuronales Celular (CNN)
La unidad básica de una red neuronal celular es llamada célula (o celda). Contiene
elementos lineales (capacitor, resistencias) y no lineales (fuentes de corriente) y fuentes
independientes. La Red Neuronal Celular definida por Chua y Yang consiste en usar
circuitos dinámicos no lineales, localmente interconectados e idénticos. Usando un arreglo
cenidet LRC: ECNA
19
de 2 dimensiones, en una capa simple, entonces matemáticamente esta definición se
escribe como [9][10][21]:
(1)
La salida de la neurona se representa por:
(2)
Donde, es una función de salida no lineal, llamada también función de
umbral. Existe diferentes funciones de salida no lineales [10][22]: sigmoidea, unitaria,
gaussiana, etc. Se dice que si para cada neurona, entonces la CNN es autónoma.
Donde las ecuaciones (1) y (2):
Se refiere a la neurona en una malla de dos dimensiones.
Es la neurona con una vecindad de radio r de la neurona.
Es el estado de la neurona.
Es la plantilla de retroalimentación (feedback template).
Es la plantilla de prealimentación, junto con A, llamada también plantilla de control (control template).
Es la entrada del sistema.
Es el término de corriente de polarización (bias), usualmente una constante.
Es la salida de la neurona.
Una de las aplicaciones de las CNN es llevar a cabo la función de un Generador
Central de Patrones (GCP). Como se comentó anteriormente existen diferentes GCP. El
GCP Locomotor es un circuito neuronal que produce un patrón motriz rítmico sin
necesidad de sensores que retroalimenten o controlen.
Para esta investigación se empleó el modelo del GCP basado en las CNN
[21][23][27], las cuales se definen como una red de sistemas no lineales acoplados; estos
osciladores no lineales son con frecuencia idénticos, los movimientos realizados por cada
órgano son controlados por un simple oscilador, mientras que la coordinación entre los
diferentes órganos es llevada a cabo por las conexiones entre los osciladores.
Capítulo 2 GCP cenidet
20
2.4.1 Modelo Matemático
Una manera de simplificar el enfoque de las CNN, para ser llevado a la
implementación del GCP Locomotor en un robot, es considerar al oscilador no lineal como
un circuito no lineal de segundo orden [27][21], hecho de dos celdas CNN de primer
orden.
Para poder implementar el GCP Locomotor, a partir de (1) se escoge , y la
función de salida (2) será una implementación lineal de la función de saturación.
Quedando de esta manera:
(3)
y
(4)
La característica más importante de la ecuación (3) es que al escoger sus parámetros
precisos su comportamiento como oscilador no lineal tiende a una dinámica lenta-rápida
(slow-fast). En otras palabras admite límites estables durante el ciclo. Los parámetros son
donde permite una dinámica lenta-rápida y un ciclo
estable [13][21][23], estos parámetros fueron utilizados por Arena y Chua para la
locomoción de un robot y J. Pérez.
2.4.2 Simulación en MatLab
Con las ecuaciones (3)(4), en conjunto con los parámetros mencionados
anteriormente se realizó una simulación utilizando el programa Simulink de Matlab ®, en
las siguientes figuras 9, 10, 11 se muestra el diagrama de la CNN y las gráficas obtenidas.
Figura 9 Simulación de la neurona.
cenidet LRC: ECNA
21
Donde el voltaje de salida es de 1.4Vpico a -2.5Vpico y para la salida es 1.8Vpico a
-2Vpico con un tiempo 50seg.
Figura 10 Estado de una neurona X1y X2.
La Figura 11 se muestra las gráficas de salidas de saturación ( y ) de las dos celdas
CNN, lo que hace esta última ecuación es cortar las señales y en .
Figura 11 Salida de neurona Y1 y Y2.
2.5 Simulación en ORCAD
Para implementar la ecuación (3) y (4) en la parte de electrónica se estudiaron los modos
de conexión de los amplificadores operacionales [18][24][25][26].
Capítulo 2 GCP cenidet
22
Se tomaron los siguientes modos de conexión.
Diferencial
Sumador no inversor
No inversor
Figura 12 configuraciones de amplificadores.
Para realizar la neurona se basó en el arreglo mostrado en el artículo [21]. Para la
simulación de dicha CNN se utilizó el software ORCAD 10.5, donde se utilizan cuatro
amplificadores, en este caso se utilizó la matrícula LM334, en el cual uno está en modo
diferencial y uno en modo sumador no inversor, estos dos modos son para la ecuación (3),
mientras que para los dos en modo no inversor son para la ecuación (4) ver en la Figura 13.
En donde se obtuvo el siguiente resultado (Figura 14).
cenidet LRC: ECNA
23
Figura 13 Circuito eléctrico CNN.
Figura 14 Salida del circuito y .
La Figura 14 muestra la salida de dos células; como se puede observar las salidas
( y ) se encuentran desfasadas a 89.9° (1.569rad) con un voltaje pico máximo de 0.83V a
-0.89V, con una frecuencia para de 315.3mHz y Y2 de 315.9mHz. Está dos señales
genera patrones oscilatorios que servirá para la locomoción de dicho robot.
Capítulo 2 GCP cenidet
24
2.6 Cambio de Fase y Frecuencia
Para este proyecto se optó por utilizar la locomoción del hipopótamo, el andar de
este es tener en todo momento dos piernas del robot en el suelo mientras las otras dos
están en movimiento. El desfase que hay entre el par de piernas es de 180° por lo que se
tiene que buscar una conexión entre neuronas donde tenga este desfase.
2.6.1 Fase
De acuerdo al tipo de andar seleccionado, el cual consiste en un movimiento de un
par de piernas que estén mecánicamente desfasadas 180° con respecto al movimiento del
otro par, para así no perder el equilibrio al andar. Esta diferencia de movimientos es
generada por dos señales que estarán desfasadas 180° una con respecto a la otra; para ello
existen dos tipos de conexiones entre neuronas [9] [10].
En el artículo de Maneesilp, Purahong y Sooraksa [28] se muestran señales de
salida de a . Donde se muestra que los movimientos de onda son continuos y muy
suaves. Como puede verse en la Figura 15, la fase de salida de cada célula tiene una
diferencia de fase alrededor de 30° entre una y otra, por lo tanto, se tiene una diferencia de
fase entre y de alrededor de 180°. Por lo tanto, se modifican las ecuaciones de estado
(3) y (4), para poder tener una mayor propagación de fase, y así obtener una diferencia de
fase de 180 ° entre y .
Figura 15 Salida para ecuacion (4) y (5) I=0 y J=1, 2, 3,…,6.
Este tipo de conexión se descartó debido a que aumentaría el número de neuronas,
por lo que aumentaría el tamaño del circuito y los componentes electrónicos.
cenidet LRC: ECNA
25
En el artículo de J. Pérez [13] conecta la salida de la primera célula con la entrada
de la segunda ver Figura 16; este tipo de conexión se llama sinapsis, donde la conexión
puede ser excitatoria o inhibitoria.
Figura 16 Conexión entre neuronas.
La gráfica que arrojó esta conexión es la siguiente (ver Figura 17). Como se puede
observar el desfase de estas dos señales ( célula 1y célula 2), no se encuentran en todo
momento a 180°, lo que puede hacer inestable para el robot cuadrúpedo, ya que el
caminado que se propuso implica 2 piernas en movimiento y dos fijas; tomando en cuenta
los círculos de referencia en la gráfica las señales no se encuentran desfasadas a 180°.
Figura 17 Señales de de la célula 1 y de la célula 2 del andar del hexápodo.
Por lo que se hizo una conexión tipo anillo con cuatro neuronas [13][28]
(conectando unas con otras formando un círculo por medio de un cable común), las
señales circulan en un solo sentido alrededor del círculo, la célula dominante ganará a las
otras y disparará para iniciar la propagación de la onda, ver Figura 18.
Capítulo 2 GCP cenidet
26
Figura 18 Conexión anillo entre cuatro neuronas.
Utilizando la ecuación (3), para una conexión tipo anillo se obtiene el siguiente
conjunto de ecuaciones [28]:
( 5)
donde y son ganancias con valor de -0.5 (sinapsis 1) y -0.6 (sinapsis 2). Estas
ganancias se obtuvieron a prueba y error, para dar el desfase deseado.
La conexión entre neuronas que se mostró en la Figura 18, se realizó la simulación
en Simulink®. La Figura 19 muestra dos bloques nombrados Sub CNN1 y 2 dentro de cada
una de éstas se encuentran conectadas dos celdas. Los Sub CNN se conectan utilizando las
ganancias antes mencionadas. Las gráficas de estas dos señales se muestran en la Figura
20.
Figura 19 Conexión entre dos neuronas.
Como se observa en la gráfica las señales se encuentran desfasadas 180° entre ellas.
Esto ayudará para que un par de piernas estén en el suelo en un cierto tiempo, mientras
que el otro par se encuentran suspendidas en el aire en el mismo tiempo, y así el robot no
perderá el equilibrio.
cenidet LRC: ECNA
27
Figura 20 Señales del Sub CNN 1 (verde) y del Sub CNN 2 (rosa) desfasadas 180°.
2.6.2 Cambio de Frecuencia
En [13][28][29] se muestra que al modificar la resistencia y/o el capacitor que
forman parte de la célula, se tiene una constante de tiempo de carga del capacitor; esta
constante depende del valor de la resistencia conectada en serie con el capacitor, ya que la
resistencia limita la cantidad de corriente que puede fluir para cargar el capacitor,
logrando esto en un determinado tiempo. Por lo tanto entre más grande sean los valores
del capacitor y la resistencia, más tiempo se necesita para cargar el capacitor y menos
oscilaciones se tendrán a la salida de la célula (frecuencia). Esto ayudará a pasar de
caminado a trote de este robot.
En base a lo mencionado se cambió el valor del capacitor en la simulación, y se
obtuvieron las Figura 21 y 22. La Figura 21 muestra las señales con una frecuencia de
0.307Hz.
Figura 21 Señales con frecuencia 0.307Hz
Capítulo 2 GCP cenidet
28
Al disminuir el valor del capacitor aumenta la frecuencia a 0.571 Hz, Figura 22
Figura 22 Señales con frecuencia 0.571Hz
cenidet LRC: ECNA
29
cenidet LRC: ECNA
29
Capítulo 3 Robot Cuadrúpedo
Locomoción hace referencia al movimiento que realiza una persona, un animal, un microorganismo, un aparato o máquina para moverse de un lugar a otro, para trasladarse en el espacio. La locomoción varía en términos de forma, estructura, velocidad y otros elementos de acuerdo al tipo de sujeto al que hagamos referencia.
La locomoción proviene del fenómeno físico conocido como movimiento. Así, el movimiento siempre significa un cambio de posición en el espacio. La locomoción es el movimiento que permite que el sujeto (ya sea una persona o una máquina) se desplace y, además de adquirir otra posición, cambie de lugar. La locomoción es una posibilidad que sólo tienen los seres vivos y algunas máquinas o aparatos creados por el ser humano que, de todas maneras, deben contar con algún método de propulsión como motores o energía.
Capítulo 3 Robot Cuadrúpedo cenidet
30
3.1 Definición y Clasificación
Un Robot es un dispositivo electrónico y generalmente mecánico; que desempeña
tareas automáticamente, ya sea de acuerdo a supervisión humana directa o a través de un
programa predefinido o siguiendo un conjunto de reglas generales. Actualmente hay
varias formas de clasificar los robots, una de ellas se muestra en la Figura 23 [1]:
Figura 23 Clasificación de Robots.
Para esta investigación se eligió el robot cuadrúpedo, las ventajas y desventajas que
tiene este robot es que son más estables y más fácil de controlar en comparación al robot
bípedo, es menos costoso ya que cuenta con menos número de piernas y consume menos
energía en comparación del hexápodo. Unas de sus desventajas es que dependiendo a su
morfología los robots pueden ser muy lentos al generar locomoción, esto se puede
solucionar con base al andar de animales y en los diferentes tipos de diseño de robots.
Robot
Fijos
Industriales
Médicos
Móviles
Robot con ruedas
Oruga
Con piernas
Hexápodo
Cuadrúpedo
Trípodo
Bípedo
cenidet LRC: ECNA
31
3.2 Tipos de Locomoción
En la literatura se encontraron tipos de andar donde los diseñadores y científicos se
basaron en la locomoción de los animales, a continuación se mencionará los tipos de andar
para un robot cuadrúpedo.
Existen dos tipos de andar para robots de este tipo, el primer andar es mantener la
estabilidad al colocar en todo momento el centro de gravedad (CG) del robot sobre el
triangulo de apoyo formado por los tres pies en contacto con el piso, en un período de
transición, ver Figura 24 [3]. La desventaja de este tipo de andar es, que al mover solo una
extremidad, el robot es lento. Pero es más fácil llevarlo a la estabilidad ya que siempre el
CG estará dentro el triángulo.
Figura 24 Andar robot con tres piernas de apoyo.
En segundo tipo de andar es mantener la estabilidad al colocar en todo momento el centro
de gravedad del robot sobre una línea de apoyo formado por dos piernas en contacto con
el piso, en un período de transición ver Figura 25. La desventaja de este tipo de andar
consiste en que es inestable, ya que el centro de gravedad estará sobre la línea.
Figura 25 Andar robot con dos piernas de apoyo.
Capítulo 3 Robot Cuadrúpedo cenidet
32
El tipo de andar para este proyecto será la segunda opción (dos piernas de apoyo),
ya que el tipo de locomoción que se eligió fue del hipopótamo. Se escogió la locomoción
del hipopótamo porque al cambiar el tipo de andar (caminado a trote) solo aumenta su
frecuencia.
3.3 Caminado Estático y dinámico.
El caminado estático o balance estático hace referencia a un sistema que
permanece balanceado manteniendo siempre su centro de masa verticalmente proyectado
sobre el polígono de soporte formado por sus bases de soporte; es por esto que mientras
un objeto permanezca en balance estático no se caerá. Tal es el caso del caminado estático
de un robot cuadrúpedo, en el cual cuando un pie se mueve el centro de masa no debe
estar fuera del área de soporte formada por los pies que continúan en contacto con la
tierra. [3]
De otro lado el balance dinámico no funciona de esta manera. En este caso la
proyección vertical del centro de masa puede encontrarse fuera del área de soporte
formada por las bases del robot cuadrúpedo en periodos de tiempo. Esto permite que el
sistema presente cortos instantes de caída; sin embargo estos periodos de tiempo deben ser
pequeños y bien controlados para que el sistema no se torne inestable. [3]
3.4 Disposiciones de patas en robots cuadrúpedos caminantes
El diseño y la construcción de máquinas caminantes en parte ha sido posible
gracias a la información extraída de los movimientos que efectúan los animales al caminar.
De esta forma, se ha observado cómo la disposición de las patas en los reptiles suministra
una base muy estable, adecuada para realizar desplazamientos sobre lodos y pantanos.
Caso muy diferente a la situación que se presenta en los mamíferos, los cuales requieren
de un mayor control de estabilidad, pero solicitando un menor consumo de potencia para
soportar el cuerpo. Esta situación les resulta adecuada para desplazarse sobre terreno llano
a velocidades mayores que los reptiles.
Los robots caminantes pueden ser clasificados por el número de patas de que están
dotados y por la disposición que éstas presentan en el cuerpo, entendiendo por
disposición de las patas la localización de los puntos de fijación de las patas con respecto
al cuerpo, así como la orientación que éstas presentan. Se puede distinguir, en lo que
cenidet LRC: ECNA
33
representa a la orientación con respecto al cuerpo, básicamente tres tipos de disposición de
las piernas para un robot caminante[30]:
a) Disposición Frontal.- El plano principal de las
piernas se encuentra perpendicular a la
dirección de avance del vehículo.
b) Disposición Sagital.- El plano principal de las
piernas se encuentra situado paralelo a la
dirección de avance del vehículo.
c) Disposición Circular.- Las piernas se sitúan
alrededor del cuerpo, de forma radial
facilitando el desplazamiento en cualquier
dirección. Esta disposición no se encuentra en
la naturaleza.
En cada una de estas categorías, y en lo que se refiere a la forma de fijación de las
piernas al cuerpo, pueden encontrarse entre otras las siguientes configuraciones [30]:
a) Configuración tipo mamífero: Las pierena se encuentran colocadas debajo del
cuerpo, pudiendo presentar las rodillas de varias formas, ver Figura 26:
Figura 26 Configuraciones de tipo de mamíferos.
Capítulo 3 Robot Cuadrúpedo cenidet
34
b) Configuración tipo reptil: Las piernas se encuentran colocadas a ambos extremos
del cuerpo, sobresaliendo las rodillas a los costados del vehículo, ver Figura 27.
Figura 27 Configuración tipo reptil
c) Configuración tipo arácnido: Las piernas se encuentran colocadas a ambos lados
del cuerpo, sobresaliendo las rodillas en la parte superior del vehículo.
Existen dos tipos de disposición básica utilizadas en el diseño de las piernas, que se
caracterizan por obtener el máximo volumen de trabajo del pie con la mínima estructura
de pierna. Se consideran tres grados de libertad en cada pierna y su disposición se ilustra
en la Figura 28 [30].
Figura 28 Disposiciones geométricas utilizadas para obtener el máximo volumen de trabajo en el pie
La configuración de tipo 1 sitúa el eje de la primera articulación perpendicular al
eje longitudinal del cuerpo, y paralelo a la dirección de la gravedad. Las otras dos
articulaciones se colocan de tal forma que la dirección de sus ejes coincide con la dirección
del eje longitudinal del cuerpo. Esta configuración es similar a la que presentan los
reptiles.
La configuración del tipo 2 coloca el eje de la primera articulación paralelo al eje
longitudinal del cuerpo, y los ejes de las otras dos articulaciones se colocan paralelos al eje
transversal del cuerpo, formando una configuración semejante a la de los mamíferos.
Al utilizar la configuración del tipo 1, la propulsión del cuerpo es realizada por la
primera articulación, cuando las patas están apoyadas, mientras que los desplazamientos
cenidet LRC: ECNA
35
de las otras dos articulaciones son pequeños. Por lo tanto, siempre que el terreno se
encuentre nivelado, el mayor desplazamiento tiene lugar alrededor de un eje que es
paralelo al eje de la gravedad, y por consiguiente no se efectúa ningún trabajo contra la
gravedad, aspecto que no se presenta en las otras dos articulaciones.
Existen básicamente tres tipos de piernas utilizados en los diseño de robots caminantes
[30].
1) Pantógrafo plano: con dos grados de libertad y una articulación de giro (tercer
grado de libertad) que une la pierna al cuerpo, ver Figura 29.
Figura 29 Pierna tipo pantógrafo plano.
2) Pierna ortogonal: esta configuración presenta la segunda y tercera articulación
perpendicular, y una articulación de giro que une la pierna al cuerpo (ver Figura
30).
Figura 30 Pierna tipo ortogonal.
3) Pantógrafo tridimensional cartesiano: utiliza tres articulaciones lineales, este tipo
de pierna ha sido utilizada en la construcción de los robots TITAN IV y
RIMHO.[30], ver Figura 31.
Figura 31 Pierna tipo pantógrafo tridimensional cartesiano.
Capítulo 3 Robot Cuadrúpedo cenidet
36
3.5 Centro de Gravedad (CG)
El centro de gravedad (CG) es el punto de aplicación de la resultante de todas las
fuerzas de gravedad que actúan sobre las distintas porciones materiales de un cuerpo [34],
de tal forma que el momento respecto a cualquier punto de esta resultante aplicada en el
centro de gravedad es el mismo que el producido por los pesos de todas las masas
materiales que constituyen dicho cuerpo.
En otras palabras, el centro de gravedad (CG) de un cuerpo es el punto respecto al
cual las fuerzas que la gravedad ejerce sobre los diferentes puntos materiales que
constituyen el cuerpo producen un momento resultante nulo.
El centro de gravedad (CG) de un cuerpo tridimensional se obtiene dividiendo el
cuerpo en pequeños elementos y expresando que el peso del cuerpo actuando en CG es
equivalente al sistema de fuerzas distribuidas que representan a los pesos de los
elementos pequeños. Al seleccionar al eje y vector con un sentido positivo hacia arriba
(Figura 32) y representar con al vector de posición de CG, se escribe.
Figura 32 Centro de Gravedad (CG) de un cuerpo tridimensional
Si todos los cuerpos no están hechos de un material homogéneo, se observa que el
peso del cuerpo es equivalente al sistema de pesos elementales si se cumple las
siguientes condiciones:
(6)
cenidet LRC: ECNA
37
Si se incrementa el número de elementos y al mismo tiempo se disminuye el
tamaño de cada uno de ellos, se obtiene el límite:
(7)
Donde es el peso y suma de pesos elementales.
Si los cuerpos están hechos de un material homogéneo (que es el caso para este
proyecto) de peso especifico , la magnitud del peso de un elemento infinitesimal se
puede expresar en términos de volumen de dicho elemento y la magnitud del peso
total puede expresarse en términos del volumen total . Así, se escribe:
(8)
Sustituyendo a y a en la segunda de las relaciones (7), se escribe:
(9)
o, en forma escalar,
(10)
El volumen total concentrado en el centro de gravedad (CG) es igual a la suma de
los volúmenes de cada componente (solo para cuerpos homogéneos).
(11)
Centro de masa y centro de gravedad: El centro de masas coincide con el centro de
gravedad sólo si el campo gravitatorio es uniforme; es decir, viene dado en todos los
puntos del campo gravitatorio por un vector de magnitud y dirección constante.
Capítulo 3 Robot Cuadrúpedo cenidet
38
Centro geométrico y centro de masa: El centro geométrico de un cuerpo material
coincide con el centro de masa si el objeto es homogéneo (densidad uniforme) o cuando la
distribución de materia en el sistema tiene ciertas propiedades, tales como simetría.
3.6 Diseño del Robot Cuadrúpedo
El diseño del robot cuadrúpedo pasó por diversas modificaciones, hasta obtener la
versión final la cual presentó mejores características de diseño, tal como, la estabilidad[31].
Estos diseños se elaboraron con el software SolidWorks. Cada una de las piernas del robot
tendrá dos grados de libertad, donde el primer eslabón (ante pierna) será controlada por la
CNN y el segundo (pierna) será un movimiento libre, en donde la posición dependerá de
la acción de la fuerza gravitacional. También se realizó la simulación del robot, para ver el
comportamiento que tendrá al generar locomoción, validar el diseño y llevarlo a la
implementación. El software en que se utilizó dicha simulación se llama ADAMS. A
continuación se mostrarán las modificaciones que se realizaron previos a su versión final
del diseño.
3.6.1 Diseño
En el primer diseño del robot, la simulación mostró una pérdida en el equilibrio
debido a que los topes mecánicos generaban un ángulo de apertura muy grande; un corte
en la pierna haría contacto con el tope para limitar la posición de ésta; la simulación
mostró que las piernas eran delgadas, haciendo que el área de soporte disminuyera, y
consecuentemente hacía que el centro de gravedad (CG) se encontrara fuera de esa área de
soporte. Con base en estos problemas se rediseñó el robot donde se rectificaron estos
problemas.
3.6.1.1 Topes mecánicos
Se calculó la ubicación de los topes mecánicos para permitir un ángulo de apertura
máximo de 30° con respecto al eje vertical, el cual es un ángulo menor al del diseño del
robot anterior, obteniendo así un mayor equilibrio, ya que se evita que las piernas estén
tambaleándose libremente. Se realizó una simulación para analizar el comportamiento del
robot con la nueva ubicación los topes, y los resultados fueron favorables ya que los topes
ayudan a que el mecanismo sea estable (ver Figura 33).
cenidet LRC: ECNA
39
Figura 33 Topes Mecánicos
3.6.1.2 Pies Anchos
Se utilizaron pies anchos con el fin de ampliar la zona de contacto con el piso y
evitar la pérdida de equilibrio lateral. Las dimensiones de estas piernas son 40mm x
30mm; ver Figura 34.
Figura 34 Dimensiones del pie
3.6.1.3 Fricción
La fricción es la fuerza que se opone al movimiento de una superficie sobre otra, o
a la fuerza opuesta al inicio de un movimiento; esto se origina por las imperfecciones entre
las superficies en contacto y estas imperfecciones pueden ser microscópicas, generando así
un rozamiento.
Es posible distinguir entre la fricción estática ( ), que es una resistencia que
necesita ser superada para poner en movimiento un cuerpo respecto al otro con que se
encuentra en contacto, y la fricción dinámica ( ), que es la magnitud constante que se
opone al movimiento cuando ya se inició.
Con base en lo anterior se analizó una tabla de coeficientes de rozamiento estático
y dinámico donde se explica la fricción de cada uno de los distintos materiales.
Capítulo 3 Robot Cuadrúpedo cenidet
40
Tabla 1 Fricción de materiales (Coeficiente de rozamiento estático y cinemático).
Superficies en contacto
Cobre sobre acero 0.53 0.36
Acero sobre acero 0.74 0.54
Aluminio sobre acero 0.61 0.47
Caucho sobre concreto 1.0 0.8
Madera sobre madera 0.25-0.5 0.2
Madera encerada sobre nieve húmeda 0.14 0.1
Teflón sobre teflón 0.04 0.04
Articulaciones sinoviales en humanos 0.01 0.003
El material que se utiliza en el pie es de caucho y la superficie de desplazamiento es
el concreto, obteniendo así un coeficiente y [32]; esta fricción se genera
entre el suelo y el pie; el pie llevará un caucho sobre la parte inferior donde hace contacto
con el suelo.
Figura 35 Fricción pie concreto.
La fricción que se ejerce entre dos aluminios, el coeficiente estático ,
mientras que el coeficiente dinámico es el 30% del valor del coeficiente dinámico
[33].
Figura 36 Fricción Aluminio – aluminio.
cenidet LRC: ECNA
41
3.7 Medidas del robot cuadrúpedo
Las medidas del robot son las siguientes:
Medidas de cuerpo completo:
Base: 110 mm
Altura: 87mm
Ancho: 122mm
Medidas de la pierna:
Base: 40 mm
Altura: 72mm
Ancho: 30 mm
Figura 37 Robot Cuadrúpedo Final.
3.8 Cálculos y Simulación del Robot y su CG
Una vez terminado el diseño final del robot, se calculó el CG de cada una de las piezas
que conforma el robot. Primero se calcula el volumen de cada pieza, en la columna 4 se
multiplica el volumen por el número de piezas repetidas en el ensamble, la columna 5, 6 y
7 es la ubicación donde está el CG de la figura ( y ), en la columna siguiente se
multiplica el volumen por la distancia al eje de referencia ( y ), y al final se suman las
columnas 3, 8, 9 y 10. Después de obtener la tabla se pasa a la ecuación (11), donde se
obtiene las coordenadas del CG total en ( y ) (ver Tabla 2). Este valor calculado es
comparado con la simulación del robot (ver Figura 38) y ambas formas de calcular el CG
llegaron al mismo resultado. Estos cálculos se hicieron para verificar si el software arrojaba
bien los datos. En la Figura 38 (b) se observa que el CG se encuentra en el punto medio del
robot.
Capítulo 3 Robot Cuadrúpedo cenidet
42
Tabla 2 Cálculo del CG del robot con las 4 piernas en el suelo.
No
de
pza.
Nombre
de la
pza.
No.pza/
8 Ante
pierna 1258.16 10065.28 0 -0.01 0 0 -100.6528 0
8 Pierna 1284.69 10277.52 0 -1.57 0 0 -16135.706 0 4 Base 1393.62 5574.48 -0.11 -0.97 0 -613.1928 -5407.2456 0 1 Cuerpo 29681.46 29681.46 58 14.02 0 1721524.68 416134.069 0
12 Tornillo
ante pierna
31.42 377.04 0 0 0 0 0 0
8 Tornillo pierna
25.13 201.04 0 0 0 0 0 0
8 Goma 125.85 1006.8 0 -3.13 0 0 -3151.284 0
=
33800.33
=
57183.62
=
1720911.49
=
391339.18
=
0
(a) (b)
Figura 38 Cálculo del CG del robot utilizando Solid Works.
Al colocar dos piernas en el aire y dos en el suelo el punto CG se recorrió hacia la
derecha, obteniendo las siguientes coordenadas (54.82, 13.59, 0) (ver Figura 39). Por lo
tanto se puede decir que al mover las extremidades del robot cambia las coordenadas del
CG.
cenidet LRC: ECNA
43
Figura 39 Coordenadas del CG cuando un par de piernas están suspendidas en el aire mientras que las otras
se encuentran en el suelo
Al terminar con el diseño del robot final se pasó a la simulación en el software MD
ADAMS; lo que se obtuvo fue que al generar locomoción el robot no perdió el equilibrio.
3.9 Funcionamiento del Servomotor
Los tipos de movimientos que requiere dicho robot demandan un posicionamiento
preciso en cada instante de tiempo lo cual lleva a sugerir el uso de un tipo de motor
específico: el servomotor.
El servomotor es un dispositivo pequeño que tiene un eje de rendimiento
controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal
codificada. Con tal de que una señal codificada exista en la línea de entrada, el servo
mantendrá la posición angular del engranaje. Cuando la señal codificada cambia, la
posición angular de los piñones cambia.
Las ventajas que tiene el servomotor a comparación de un motor de CD es la
siguiente, es un sistema de lazo cerrado, ya que tiene un detector (encoder) que permite
conocer su posición y/o velocidad. Capacidad de ubicación en cualquier posición dentro
de su rango de operación. Se mantiene estable en dicha posición. Velocidad variable
programable. Velocidad de arranque y paro programable. Posición precisa de paro
programada. Control de torque programado. Requiere de un pulso de onda cuadrada.
Capítulo 3 Robot Cuadrúpedo cenidet
44
Mientras que el motor de CD es un sistema de lazo abierto, tiene una velocidad variable y
no tiene la capacidad de posicionamiento.
El movimiento del primer eslabón se llevó a cabo con un servomotor de la marca
Hitec ®, modelo HS-55. Se le realizaron pruebas de funcionamiento y par de fuerza para
garantizar su funcionamiento.
Figura 40 Servomotor Hitec ® modelo HS-55
Los servomotores son sumamente útiles en robótica. Los motores son pequeños,
como se observa en la Figura 40, tienen internamente una circuitería de control y tiene una
buena fuerza de torque para su tamaño. El servomotor HS-55 de Hitec ® tiene una fuerza
promedio de 1.1 Kg/cm a una alimentación de 4.8Vcd. Su potencia es proporcional a la
carga mecánica. Un servomotor, por consiguiente, no consume mucha energía. También
cuenta con tres alambres de conexión externa, uno es para alimentación 5Vcd (rojo),
conexión a tierra GND (negro) y el alambre amarillo es para la señal de control. Se
presentan las características principales en la Tabla 3.
Características Dimensiones
Características a 4.8 Volts:
Velocidad: 0.17 seg/60 grados.
Torque: 15.27 oz-in (1.1 Kg-cm).
Características a 6.0 Volts:
Velocidad: 0.14 seg/60 grados.
Torque: 18.05 oz-in (1.3 Kg-cm).
Peso: 8 gr.
Largo: 22.8 mm.
Ancho: 11.6 mm.
Alto: 24 mm.
Tabla 3 Características principales del servomotor HS-55
La fuerza motriz del servomotor tiene algunos circuitos de control y un
potenciómetro (una resistencia variable) ésta es conectada al eje central del servomotor.
Este potenciómetro permite a la circuitería de control supervisar el ángulo actual del
cenidet LRC: ECNA
45
servomotor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el
circuito sensa que el ángulo no es el correcto, el motor girará en la dirección adecuada
hasta llegar al ángulo correcto. El eje del servomotor es capaz de llegar alrededor de los
180 grados, en algunos llega a las 210 grados, pero varía según el fabricante. Un
servomotor se usa normalmente para controlar un movimiento angular de entre 0 y 180
grados.
El cable de control se usa para comunicar el ángulo. El ángulo está determinado
por la duración de un pulso que se aplica al alambre de control. El servomotor requiere
ser alimentado por un pulso cada 20 milisegundos (ms). La longitud del pulso
determinará los giros del motor. Por ejemplo, un pulso de 1.5ms, hará que el motor se
torne a la posición de 90 grados (llamado posición neutral) si el pulso es menor de 1.5ms,
entonces el eje se acercará a los 0 grados. Si el pulso es mayor de 1.5ms, el eje se acercará a
los 180 grados (ver Figura 41 ). La duración del pulso tiene un rango de 0.6ms a 2ms. El
servomotor es lineal a lo largo de todo su recorrido.
Figura 41 Funcionamiento de un servomotor
Capítulo 3 Robot Cuadrúpedo cenidet
46
cenidet LRC: ECNA
47
Capítulo 4 Construcción, Pruebas y
Resultados
Capítulo 4 Construcción, Pruebas y Resultados cenidet
48
4.1 Elaboración de Piezas del Robot
Con base en el diseño que se mostró en el tema anterior, se adquirieron y elaboraron las
distintas partes que conforman la totalidad del robot.
4.1.1 Piezas elaboradas
4.1.1.1 Cuerpo
Para la elaboración del cuerpo del robot, se compró un trozo de placa de aluminio
y se cortó con una forma que, al darle los dobleces necesarios, se formara un prisma
rectangular; una vez cortado se procedió a realizar unos orificios donde están colocados
los servomotores, como se muestra en la Figura 42.
Figura 42 Cuerpo del robot y orificios para los servomotores.
Se doblaron las paredes del cuerpo quedando como se muestra en la Figura 43.
Figura 43 Cuerpo del robot.
Finalmente, para que el cuerpo del robot quedara unido, se instalaron tornillos que harán
la función de unión de las paredes del cuerpo para mantener su forma.
cenidet LRC: ECNA
49
Figura 44 Tornillos
4.1.1.2 Piernas
Para la elaboración de las piernas se hicieron tres tipos de cortes que se utilizaron
como ante pierna, pierna y pie del robot así como se muestra en la siguiente figura.
Figura 45 Piezas de las piernas
Al término de esto, se ensamblaron las piernas, tomando en cuenta los topes que
hay entre la ante pierna y pierna que en este caso se utilizó como tope los tornillos y en la
parte de la ante pierna se utilizaron tornillos para colocar la flecha del servomotor.
Figura 46 Ensamble de las piernas
Capítulo 4 Construcción, Pruebas y Resultados cenidet
50
4.2 Ensamble completo del robot
Teniendo el cuerpo del robot, con los servomotores dentro, se integraron las
piernas del robot al mismo. Esto se hizo centrando el eje superior de giro de la pierna con
el eje de giro del servomotor, unido por una pieza de plástico y atornillada a la flecha del
servomotor.
Figura 47 Ensamble cuerpo – piernas
4.3 Conexión de la CNN
4.3.1 Desfase
Como se mencionó en los temas anteriores, la opción que se utilizó fue conectar dos
células con la ayuda de dos resistencias de 1MΩ como se muestra en la Figura 48. En ésta
se muestra que la salida ( ) de la CNN 1 está conectado con una resistencia con la
CNN 2 en modo inhibitoria, y la segunda está conectada de la misma manera, esto nos
ayudará para que ambas señales de las células estén desfasadas 180° y así mover las
extremidades del robot y no pierda el equilibrio en el andar. Estas señales se muestran en
la Figura 49. Cuando las señales son conectadas, estas se auto organizan.
Figura 48 Conexión de neuronas
cenidet LRC: ECNA
51
Como se puede ver en la Figura 49 la señal rosa es la salida de la CNN 1 y el azul la salida
de la CNN 2.
Figura 49 Señales de salida CNN 1 y CNN 2
4.3.2 Frecuencia
Para el cambio de un caminado a trote, es necesario cambiar la frecuencia de oscilación de
las señales de salida de las neuronas. Para esto se debe cambiar el valor de los capacitores
que se encuentran en la neurona; para ello se hizo una prueba de varios capacitores y se
obtuvieron los siguientes resultados.
Tabla 4 Variación de frecuencia al cambio de capacitor
Capacitor Frecuencia [Hz] Periodo[s]
470µF (50V) 0.1184 8.442
330 µF (25V) 0.1727 5.789
220 µF (25V) 0.2705 3.702
100 µF (50V) 0.5427 1.840
47 µF (50V) 1.255 0.7971
33 µF (160V) 1.790 0.5585
22 µF (63V) 2.424 0.4125
4.7 µF (63V) 12.11 0.08256
La frecuencia del caminado del hipopótamo es de 588mHz y la frecuencia del trote
es de 1.7692Hz. Estas frecuencias se obtuvieron por medio de dos videos que se anexaron
en el CD de esta tesis. Con base en los resultados mostrados anteriormente se escogió el
capacitor con la frecuencia aproximada esta locomoción, que son el de 100 µF para el
caminado y 33µF para el trote.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
52
4.4 Interfaz CNN-Servomotor
Para explicar el comportamiento que tienen las piernas del robot con respecto a las
señales de las neuronas, se utilizará las señales de la Figura 50.
Cuando la señal rosa está en -1V la pierna del robot estará apoyándose en el suelo,
y cuando va incrementando el voltaje hasta llegar a 1V, la pierna se levantará hasta llegar a
un ángulo determinado.
Figura 50 Señal de la CNN 1 y pie del robot
Como los servomotores trabajan con PWM (modulación por anchura de pulso) que
consiste en generar una onda cuadrada en la que se varía el tiempo que el pulso está a
nivel alto, manteniendo el mismo período, con el objetivo de modificar la posición del
servomotor según se desee. Para generar estos pulsos es necesario convertir la señal
analógica de cada célula a digital, para ello se utilizó un PIC 18F1320 ya que contiene
ADCs (convertidores analógicos digitales) y así generar el PWM. Pero como el micro-
controlador solo recibe voltajes positivos, se debe aplicar OFFSET en ambas señales
analógicas, manteniendo la forma de la señal con la misma magnitud y cuyo valor de
voltaje mínimo sea cero volts, (ver Figura 51) y así poder aplicar el convertidor.
cenidet LRC: ECNA
53
Figura 51 Diagrama de bloques con offset
Para construir el circuito (OFFSET) se utilizó un amplificador LM324 ya que éste
consta de cuatro amplificadores operacionales, que se utilizaron en modo sumador e
inversor, estos dos modos son para una sola salida, como se muestra en el siguiente
circuito (ver Figura 52). Al variar la resistencia R5 aumenta o disminuye el offset y así
montarse las señales en cero volts (ver Figura 52).
Figura 52 Circuito OFFSET
Figura 53 Señales con OFFSET
R1
10k
R2
10k
R3
10k
R4
10k
R5
10k
R6
1k
R7
1k
R8
121k
00
VCC23
VCC23
-VCC24
V3
FREQ = 500mHzVAMPL = 1VOFF = 0
00
-VCC24
VCC23
V
VV
0
U4A
LM324
+3
-2
V+4
V-
11
OUT1
U4B
LM324
+5
-6
V+4
V-
11
OUT7
Capítulo 4 Construcción, Pruebas y Resultados cenidet
54
Una vez que se montaron las señales, se implementó el convertidor analógico –
digital (ADC) y PWM para ello se utilizó un micro-controlador PIC18F1320 que incluye la
función de conversión analógica digital. Para ello se realizó el siguiente programa Anexo
B; el programa se realizó en el compilador C-compiler.
4.4.1 Desarrollo del algoritmo
La primera parte consiste en convertir las señales analógicas a digital, por lo que se
utiliza ADCs; el valor máximo que puede recibir un ADC son 255 que equivalen a 5V
analógico, y el mínimo es cero su equivalente es cero volts analógicos; lo que hace es tomar
el dato (señal 1) que entra en ADC0, espera un ciclo de instrucción (que tarda ocho
microsegundos) que es el tiempo requerido para que el micro-controlador realice la
conversión, se toma el dato de la señal 2 y se coloca en la variable pot1a y se realiza
nuevamente la operación con el ADC1 y el dato se asigna a la variable pot2a. Estos datos
se utilizarán para mantener el tiempo en alto del pulso requerido de PWM.
La conversión del ADC arroja valores de acuerdo a la entrada analógica
proveniente de las neuronas; cuando la señal analógica está en su valor más alto que es
1.7V (87 salida del ADC aproximadamente), el servomotor se posicionará a 30 grados de
su valor neutro, este ángulo se requiere para que el robot no pierda el equilibrio, al generar
locomoción.
set_adc_channel(0); delay_us(10); pot1a=read_adc(); set_adc_channel(1); delay_us(10); pot2a=read_adc();
En la Figura 54 se muestran las señales analógicas generadas por la red neuronal, en
el programa se les da el nombre de pot1a y el pot2a. El ADC nos arroja datos de cada una
de ellas en diversos instantes de tiempo, siendo ahí donde surgen tres condiciones, la
primera si pot1a es mayor que pot2a, la segunda es si pot2a es mayor que pot1a, y la
tercera si pot1a y pot2a son iguales.
cenidet LRC: ECNA
55
Figura 54 Señales y programa
Por lo que en el programa se utilizaron estas tres condiciones para estos casos. Para
esto es necesario que las salidas del PIC (B0, B1, B2 y B3) se inicialicen en alto (uno lógico)
para que trabajen en paralelo, ya que si no trabajan de esta manera los datos de salida de
PWM estarán desfasados y por lo tanto las posiciones del servomotor no serán las
adecuadas.
Para que la flecha de un servomotor adquiera una posición a cierto ángulo, es
necesario mantener en alto a un cierto tiempo (en microsegundos) el pulso del PWM, ver
Figura 55; por esto se necesita que la flecha del servomotor esté en posición vertical
(neutral), ya que la posición en la que se colocaron los servomotores en el cuerpo están en
vertical, igual que las piernas, por lo que la referencia de posición es ésta. Y en base a esto
el programa partirá del 0 ° (1500µs) a 30 ° (1800 µs).
Figura 55 Posición del servomotor
En la salida del offset no se encuentra realmente montada en cero volts, se tiene un
valor de 220mV positivos, este error se generó debido a que se reemplazó la resistencia
variable por una resistencia fija. Para eliminar el error de los 220mV se colocó una rutina al
Si pot1a>pot2a Si pot1a<pot2a
Si pot1a=pot2a
Capítulo 4 Construcción, Pruebas y Resultados cenidet
56
programa, sabiendo que 5V tiene un valor 255 al convertirlo a digital, el valor de los
220mV es aproximadamente el número 11.
Ahora bien, la primera rutina tiene dos condiciones, si el valor adquirido por pot1a
y pot2a es menor a 13, automáticamente se adquiere un valor de 0. Si los valores
adquiridos por pot1a y pot2a son igual o mayor a 13, entonces se les resta un 13. Con esto
se logra que los 220mV se vuelvan nuestro "NUEVO CERO" es decir, a partir de ahí será
la referencia para el servomotor.
if (pot1a<13) pot1a=0; else pot1a=pot1a-13; if (pot2a<13) pot2a=0; else pot2a=pot2a-13;
Segunda etapa, si el valor resultante de la resta de la primera etapa es menor o
igual a 36, entonces aux1 o aux2 (dependiendo la resta del canal que se vaya a comparar)
vale 1. Pero si la resta anterior vale más de 36, entonces aux vale 2. Los aux1 y aux2
ayudarán a saber a qué condición corresponde el valor adquirido en pot1a y pot2a. Por
ejemplo, el valor adquirido por el ADC es 56 (1.10V), al pasar la primera etapa se resta 13,
quedando 43. Como 43 supera el valor de 36, entonces el excedente es de 7 (pot1b=7). Si el
resultado hubiera sido 36 o menos, entonces no habría excedente, por lo que la variable
pot1b no existirá. (el número 36 se utiliza ya que al multiplicarlo por 7 da el número 252,
y como el PIC captura hasta un valor de 255).
if (pot1a<=36) aux1=1; if (pot1a>36) pot1b=pot1a-36;
cenidet LRC: ECNA
57
pot1a=36; aux1=2; if (pot2a<=36) aux2=1; if (pot2a>36) pot2b=pot2a-36; pot2a=36; aux2=2;
Explicación del PWM de salida de acuerdo a los datos obtenidos de las primeras dos etapas.
Si el valor obtenido de pot1a es mayor que pot2a, significa que las piernas
controladas por la señal de pot2a tendrán un ángulo menor, por lo que la duración del
pulso en alto será menor que la señal controlada por pot1a. Sin embargo, hay que recordar
que la disposición física de los servomotores dentro del cuerpo del robot hace que, para
que un par de piernas pueda avanzar, un servomotor deberá incrementar su ángulo,
mientras que el otro deberá decrementarlo (respecto a la posición neutral) para que giren
en la misma dirección. Pot1a controla dos salidas de PWM (B2, B3) y pot2a controla otras
dos salidas de PWM (B0, B1).
Ahora la tercer y última parte del programa hace la comparación de la segunda
instrucción utilizando las variables aux1 y aux2. Las rutinas son las siguientes.
if(aux1>aux2)
if (aux1<aux2)
if (aux1==aux2 && aux1==1)
if (aux1==aux2 && aux1==2)
De tal modo que si aux1 es mayor, una señal controlada por pot1a será la que
mayor tiempo dure en alto el pulso de PWM (B2) respecto a las otras 3 señales, mientras
que la otra será la que menor tiempo dure en alto el pulso de PWM (B3). Las señales B0 y
B1 tendrán un tiempo en alto de 1500 s.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
58
if(aux1>aux2) diferencial=(36+pot1b)-pot2a; if (diferencial<=36) delay_ms(1); delay_us (248-(pot1b*7)); output_low(PIN_B3); delay_us(diferencial*7); output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(diferencial*7); output_low(PIN_B2); delay_ms(18); delay_us(248-(pot1b*7)); else diferencial1=diferencial-36; delay_ms(1); delay_us(248-(pot1b*7)); output_low(PIN_B3); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B2); delay_ms(18); delay_us(248-(pot1b*7));
Lo mismo ocurre si aux2 es mayor a aux1, una señal controlada por pot2a será la
que mayor tiempo dure en alto el pulso de PWM (B0) respecto a las otras 3 señales (B1, B2,
B3), mientras que la otra será la que menor tiempo dure en alto el pulso de PWM (B1). Las
señales B2 y B3 tendrán un tiempo en alto de 1500 s.
if (aux1<aux2) diferencial=(36+pot2b)-pot1a; if (diferencial<=36) delay_ms(1);
cenidet LRC: ECNA
59
delay_us(248-(pot2b*7)); output_low(PIN_B1); delay_us(diferencial*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(diferencial*7); output_low(PIN_B0); delay_ms(18); delay_us(248-(pot2b*7)); else diferencial1=diferencial-36; delay_ms(1); delay_us(248-(pot2b*7)); output_low(PIN_B1); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B0); delay_ms(18); delay_us(248-(pot2b*7));
Lo mismo ocurre si aux1 es igual a aux2, una señal controlada por pot1a será la que
mayor tiempo dure en alto el pulso de PWM (B0) respecto a las otras 3 señales, mientras
que la otra será la que menor tiempo dure en alto el pulso de PWM (B1). Las señales B2 y
B3 tendrán un tiempo en alto de 1500 s.
Si ambas señales aux1 y aux2 son iguales, siempre y cuando sean igual a 1,
entrarán a tres condiciones, dependiendo el valor que tenga Pot1a y Pot2a es la condición
que se tomará.
if (aux1==aux2 && aux1==1) if (pot1a>pot2a) diferencial=pot1a-pot2a; delay_ms(1); delay_us(252); delay_us(248-(pot1a*7)); output_low(PIN_B3); delay_us(diferencial*7);
Capítulo 4 Construcción, Pruebas y Resultados cenidet
60
output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(diferencial*7); output_low(PIN_B2); delay_ms(18); delay_us(252); delay_us(248-(pot1a*7)); else if (pot1a<pot2a) diferencial=pot2a-pot1a; delay_ms(1); delay_us(252); delay_us(248-(pot2a*7)); output_low(PIN_B1); delay_us(diferencial*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(diferencial*7); output_low(PIN_B0); delay_ms(18); delay_us(252); delay_us(248-(pot2a*7)); else if (pot1a==pot2a) delay_ms(1); delay_us(252); delay_us(248-(pot1a*7)); output_low(PIN_B1); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); output_low(PIN_B0); delay_ms(18); delay_us(252); delay_us(248-(pot1a*7));
La última rutina del programa (if (aux1==aux2 && aux1==2)), se utiliza cuando
las neuronas al conectarse se auto organizan, haciendo que las señales de las neuronas
varíe el desfase. En el Anexo B se encuentra unos ejemplos de estas condiciones.
cenidet LRC: ECNA
61
4.5 Pruebas En esta parte se muestran las cuatro pruebas que se realizaron y los resultados que se
obtuvieron.
4.5.1 Señal (Y1) del CNN con servomotor
Objetivo: Comprobar que el comportamiento de la flecha del servomotor corresponde al
comportamiento de la señal analógica proveniente de una neurona.
Figura 56 Servomotor
Variables: Salida Y1 de la célula 1 y salidas PIC (B0). (Señales)
Equipo e instrumentos de medición: Osciloscopio, multímetro, fuente de 5V y pilas de
±12V.
Procedimiento:
Alimentar las neuronas con ±12V, el PIC con servomotor con 5V.
Colocar 2 puntas de osciloscopio, la primera para la salida de neurona y la segunda
para la salida del PIC (B0 y B1).
Evaluación de resultados:
Observar y verificar si la señal del PWM de la salida B0 sigue la señal de la
neurona.
Conectar y verificar si el movimiento del servomotor concuerda con la señal del
PWM del pin B0 del PIC.
Presentación de resultados: Los resultados obtenidos fueron favorables ya que ambas
señales fueron comparadas y el PWM sigue la señal de la neurona, así como también el
movimiento de la flecha del servomotor.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
62
4.5.2 Señal de la CNN (Y1) con dos servos.
Objetivo: Comprobar que el movimiento de las flechas de 2 servomotores estén opuestos
respecto a la posición neutral, de acuerdo al comportamiento de la señal analógica
proveniente de una neurona para verificar el correcto funcionamiento del algoritmo.
Figura 57 Dos Servomotores y Neurona.
Variables: Salida Y1 de la célula 1 y salidas PIC (B0 y B1). (Señales)
Equipo e instrumentos de medición: Multímetro, fuente de 5V y pilas de ±12V.
Procedimiento:
Alimentar las neuronas con ±12V, el PIC con los cuatro servomotores con 5V.
Colocar dos servomotores a la salida del PIC.
Observar movimientos de éstos.
Evaluación de resultados: Conectar y verificar si el movimiento de los servomotores
concuerda con las señales del PWM de los pines B0 y B1 del PIC. Sabiendo que B1 que está
conectado al servomotor, la flecha girará en sentido contrario del otro servo.
Presentación de resultados: Los resultados muestran que ambos servomotores giraban a
30°, solo que uno de ellos gira en sentido contrario que al otro servo.
4.5.3 Señales de la CNN (Y1 y Y3) con cuatro servomotores.
Objetivo: Comprobar que el comportamiento de las flechas de los 2 pares de servomotores
estén desfasados 180° uno respecto al otro, de acuerdo al comportamiento de las señales
analógicas provenientes de las dos neuronas a utilizar.
cenidet LRC: ECNA
63
Figura 58 Cuatro servomotores y neuronas
Variables: Salida Y1 de la célula 1 y célula 2, las salidas PIC (B0, B1, B2 y B3). (Señales)
Equipo e instrumentos de medición: Multímetro, fuente de 5V y pilas de ±12V.
Procedimiento:
Alimentar las neuronas con ±12V, el PIC con servomotor con 5V.
Colocar los 4 servomotores a la salida del PIC.
Evaluación de resultados:
Observar que un par de servomotores estén desfasados 180° a los otros dos servos
y verificar si dos servomotores giran a 30° mientas que los otros giran en sentido
contrario dando -30°.
Presentación de resultados: Un par de servomotores se encuentran desfasados 180° con
respecto al segundo par. También se observo que un servo de cada par dará un angulo de
-30° tomado desde la vertical mientras que el otro dará un giro de +30°.
4.5.4 Integración de las neuronas al cuerpo del robot
En esta parte se harán dos pruebas, una es para verificar si el robot se mueve
correctamente, la segunda es verificar si la frecuencia de caminar cambia al modificar el
valor de los capacitores y la tercera es verificar que el robot no pierda el equilibrio.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
64
4.5.4.1 Señales de la CNN (Y1 y Y3) con el ensamble del robot
Objetivo: verificar que las piernas del robot se mueven correctamente, comprobar el
movimiento del mismo, así como analizar la velocidad de éste.
Figura 59 Robot y neuronas
Variables: Salida Y1 y Y3, las salidas PIC (B0, B1, B2 y B3) y piernas del robot.
Equipo e instrumentos de medición: Multímetro, fuente de 5V y pilas de ±12V.
Procedimiento:
Alimentar las neuronas con ±12V, el PIC con servomotor con 5V.
Colocar los 4 servomotores a la salida del PIC.
Evaluación de resultados:
a) Observar que un par de piernas estén desfasadas 180° con respecto al otro.
b) Verificar si las piernas vayan a la misma dirección (o que los servomotores estén a
±30°).
c) Verificar si el robot no pierde el equilibrio y que camine correctamente.
Presentación de resultados: Los resultados que se obtuvieron es que el par piernas se
desfasan 180° con respecto a las otras, todas las piernas van en la misma dirección y al
colocar el robot en el suelo, este no pierde el equilibrio al caminar y las piernas no chocan
entre ellas.
1er. Par de piernas
2do. Par de piernas
cenidet LRC: ECNA
65
4.5.4.2 Cambio de frecuencia o cambio de caminado a trote.
Objetivo: Verificar el cambio de frecuencia en las señales de la neurona y observar el
comportamiento del robot.
Figura 60 Cambio de Frecuencia
Variables: Salida Y1 y Y3, las salidas PIC (B0, B1, B2 y B3) y piernas del robot.
Equipo e instrumentos de medición: Multímetro, fuente de 5V y pilas de ±12V.
Procedimiento:
Alimentar las neuronas con ±12V, el PIC con servomotor con 5V.
Cambiar los capacitores por los siguientes: 330 µF, 220 µF, 100 µF, 47 µF y 33 µF.
Observar el comportamiento que tiene el robot, al cambio de éste.
Evaluación de resultados:
Observar que al cambiar los capacitores cambia la frecuencia al caminar el robot y con
base en éstos escoger los capacitores adecuados para el caminado y el trote.
Presentación de resultados: El resultado que se obtuvo fue que al cambiar el capacitor
cambia la frecuencia del andar del robot, con base en esto se escogieron dos capacitores,
para el caminado el capacitor de 100 µF y para el trote de 33 µF.
4.5.4.3 Locomoción en Rampa.
Objetivo: Verificar que si al colocar el robot en una rampa (con un ángulo de 12° entre la
hipotenusa y la base con una distancia de 133cm en la hipotenusa) pueda subir.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
66
Figura 61Locomoción en rampa
Variables: Velocidad y equilibrio.
Equipo e instrumentos de medición:
Procedimiento:
Colocar el robot sobre la rampa.
Generar locomoción en dirección hacia la adyacente de la rampa.
Observar el comportamiento que tiene el robot.
Evaluación de resultados:
Observar que al generar locomoción el robot no pierda el equilibrio y caiga.
Presentación de resultados: El resultado que se obtuvo fue que al generar locomoción el
robot nunca perdió el equilibrio y llego hasta el final de la hipotenusa.
4.5.5 Receptor y transmisor
Para cambiar de caminado a trote (frecuencia), se elaboraron los circuitos receptor
y transmisor. Ambos circuitos se realizaron en ORCAD 10.5 ® y al final se probaron en
protoboard.
Transmisor
En el transmisor se utilizó el típico 555 para generar los pulsos a una cierta
frecuencia y ser transmitida por el infrarrojo. Ver Anexo C.
Receptor
En el receptor se utilizó un amplificador (LM741) en modo comparador (es
comparar el voltaje del divisor de voltaje con el voltaje que arroja el fototransistor), al
cenidet LRC: ECNA
67
comparar el voltaje los relevadores (TDS-1202L) se activan para cambiar la frecuencia. Ver
Anexo C.
Figura 62 Receptor
Uno de los problemas que se presentó al utilizar el circuito sin el PIC, es que se
tenía que oprimir el botón todo el tiempo necesario para cambiar la frecuencia, al soltarlo
éste regresaba a su frecuencia inicial. Para eliminar este problema, la salida del
amplificador (LM741) pin 6 se paso a un pin del PIC y se anexó el siguiente programa.
conteo=conteo+1; IF (conteo==251) conteo=250;
Donde al inicio del programa general conteo se iguala a cero, la condición es si conteo es igual 251 el programa tardará 12.5seg para poder hacer el cambio de frecuencia. Y así se elimina el problema de estar presionando el botón todo el tiempo, para cambiar la frecuencia.
Capítulo 4 Construcción, Pruebas y Resultados cenidet
68
4.6 Resultados Finales.
Una vez que se tuvieron todos los componentes independientes funcionando, se
procedió a insertar las neuronas dentro del cuerpo del robot y enlazar sus salidas con la
etapa conversión analógico digital y se analizó por medio del osciloscopio obteniendo los
resultados deseados.
Posteriormente se acoplaron los servomotores para comprobar su funcionamiento.
Los resultados mostraron una caída de tensión en la alimentación del micro-controlador
haciendo que reiniciara su funcionamiento, por lo que se aislaron las fuentes de
alimentación utilizando opto-acopladores y compuertas TTL inversoras para cada
servomotor y así se corrigió el problema; las piernas alcanzaron el ángulo requerido. El
desfase del par de las piernas fue de 180° con respecto al segundo par y un servo de cada
par da el giro inverso de 30°.
Finalmente se implementó la etapa de control remoto para hacer el cambio de
caminado a trote y se comprobó que las piernas cambiaron satisfactoriamente la velocidad
de movimiento cuando se apretaba el botón del control remoto. El circuito final
corresponde al siguiente diagrama de conexiones.
El prototipo final del robot se aprecia en la Figura 63.
Figura 63 Diseño FINAL del prototipo de robot cuadrúpedo controlado por CNN.
La ubicación espacial de los distintos componentes que integran al robot se puede
apreciar en el Anexo D1. El diseño del circuito del control remoto se puede apreciar en el
Anexo D2 y el del receptor en el Anexo D3. El diseño de las Neuronas se puede observar
en el Anexo D4 y la tarjeta principal que procesa todos los datos se puede observar en el
Anexo D5.
cenidet LRC: ECNA
69
Capítulo 5 Conclusiones
Capítulo 5 Conclusiones cenidet
70
5.1 Conclusiones
El trabajo de investigación cumplió con el objetivo de evaluar el desempeño de las
Redes Neuronales Celulares (CNN) para la locomoción de un robot cuadrúpedo.
Del mismo modo se cumplieron los siguientes puntos:
Se realizó una revisión del estado del arte en modelos neurofisiológicos del sistema
locomotor en distintos robots con piernas, tales como cuadrúpedos y hexápodos.
En dicha revisión se identificaron los componentes más relevantes, así como
también las ventajas y desventajas de cada uno de éstos.
Se obtuvo, simuló y construyó el modelo matemático de la CNN para el tipo de
locomoción del robot, basándose en las ecuaciones de Chua y Arena, generando un
desfase entre señales de 180°.
Se diseñó y simuló el robot cuadrúpedo, utilizando los programas Solid Works y
ADAMS para posteriormente pasar a la construcción.
Se generó locomoción en el robot. Este punto fue un reto, ya que las redes con el
mecanismo van de la mano, esto es porque las redes solo generan un patrón
oscilatorio, lo que ayuda a la marcha del robot y el mecanismo ayuda a mantener el
equilibrio cuando éste genera locomoción.
Se generó un cambio en el tipo de locomoción (caminado y trote), con el fin de
imitar la locomoción de un mamífero (hipopótamo). Este punto es importante ya
que se evaluó el desempeño de las CNN, ya que se pensaba que al cambiar la
locomoción la CNN tardaría en responder al cambio.
5.2 Contribución Se disminuyó el número de neuronas de 6 a 4 [] y se conectaron en forma de anillo,
Se obtuvo un desfase entre señales de 180° utilizando sólo 4 neuronas.
Se hizo un cambio de locomoción (caminado a trote) utilizando sólo estas
neuronas.
Se construyo un robot cuadrúpedo con 2 grados de libertad, el primero controlado
por neuronas y el segundo es por gravedad.
El cambio de locomoción se hace por medio de un transmisor y un receptor
cenidet LRC: ECNA
71
Se logró que el robot subiera una rampa sin perder el equilibrio, con un ángulo de
12° entre la hipotenusa y la base con una distancia de 133cm en la hipotenusa.
5.3 Trabajos Futuros
Para generar locomoción en terrenos irregulares se recomienda que el robot
cuadrúpedo tenga un angulo de apertura mucho mayor al mencionado en esta tesis. Lo
que se tiene pensado es colocar un servomotor en cada pierna del robot (rodilla), esto
ayudara que aumente el angulo de apertura y poder esquivar obstáculos. Este tipo de
conexión da cuatro señales, las cuales solo se utilizaron dos para controlar las ante piernas
del robot. Las otras dos señales se pueden utilizar para los servomotores de la rodilla.
Si el robot se lleva a la exploración en lugares donde el hombre no puede llegar,
por ejemplo tuberías y desastres naturales (terremotos, tsunamis, incendios, etc.), para
buscar ciertos objetos, se aumentaría una cámara y por medio de un programa de
identificación de imágenes, poder buscar este. La tesis "Identificación y clasificación de
elementos multimedia de Ing. Monserrat Sedeño Bustos, elaboró sus prácticas en
CENIDET, lo que se hace es identificar por medio de un programa el tipo de objeto
(animal, humano, objeto, construcción y paisaje) mediante pixeles, donde la imagen se
pasa a una base de datos y clasifica este el tipo de objeto. Esta tesis está enfocada a páginas
web, que al abrir una página descargara todas las imágenes que se encontraran dentro de
esta. La tesis se encuentra en el Instituto Tecnológico de Cuautla (Morelos).
Para esquivar objetos más grandes que el robot, es necesario colocar sensores de
presencia y cambiar el diseño de la ante pierna, colocando dos servomotores en ella, un
servomotor para que se mueva con respecto a la vertical y otra con respecto a la
horizontal. Esto con el fin de que cuando el robot se encuentre cerca del obstáculo pueda
pasar del andar del hipopótamo al andar de un cangrejo (de lado)pero utilizando la
secuencia del elefante en el caminado.
Cambiar las pilas de 1.2V a 3A por 4 pilas de celular con un voltaje de 3.7V-
700mAh, con una vida de 35min., o baterías recargables STEREN modelo BAT- CAM-
BP511 con un voltaje de 7.2V - 1400mAh, con una vida de 1h 25min.
Para implementar las neuronas analógicas a un robot bípedo, se puede utilizar la
misma red del cuadrúpedo, solo que al momento de generar locomoción el robot pueda
perder el equilibrio, lo que se podrá hacer es aumentar el ancho de los pies del robot para
que tenga un área de apertura mayor o utilizar el balance dinámico, un ejemplo en un
animal es el pato, este tiene patas anchas, las piernas son como se ve en la Figura 64.
Teniendo tres articulaciones en cada pata.
Capítulo 5 Conclusiones cenidet
72
Figura 64 Morfología de un pato
cenidet LRC: ECNA
73
Referencia Bibliográfica
Referencia Bibliográfica cenidet
74
[1] Ollero Baturone Aníbal, “Robótica Manipuladores y Robot Móviles”, Editorial
Marcombo. Págs 464 (2001).
[2] Andrés Prieto – Moreno Torres “Estudio de la locomoción de un robot cuadrúpedo mediante la generación de patrones biológicos” Octubre 2003. [En línea. Disponible: www.iearobotics.com/personal/andres/proyectos/pucho/pucho.html].
[3] Diego Aguilar, Andrés Vivas “Modelado y control de un robot bípedo de nueve grados de libertad” 2009. Disponible: www.ai.unicauca.edu.co/publicaciones/Aguilar_ACA09.pdf
[4] J. S. R. Jang; C. T. Sun; E. mizutani, “Neuro-Fuzzy and Soft Computing.” Prentice Hall,
Inc. 1997. Pps. 614 USA.
[5]J. Frigo, M. Tilden, “A biologically inspired neural network controller for an infrared
tracking system”,pp. 1-14. Los Alamos National Laboratory, New Mexico, USA, 2001.
[6] Frigo, J.R, and Tilden M.W., “An analog neural network control method proposed for
use in a backup satellite control mode”, SPIE International Symposium on Intelligent
Systems and Advanced Manufacturing, pp. 84-94, 1997.
[7] Chua, Leon, Yang, Lin. “Cellular Neural Networks: Theory”, IEEE Transactions on
circuits and systems, vol. 35, no. 10, pp. 1257-1272 1988.
[8] Chua, Leon, Yang, Lin., “Cellular Neural Networks: Applications”, IEEE Transactions
on circuits and systems, vol. 35, no. 10, pp. 1273-1290, 1988.
[9] Calderón Zavala Gabriel “Control Del Péndulo Invertido Usando Dos Celdas
Neuronales Analógicas” Tesis Maestría en Ciencias en Ingeniería Electrónica,
Departamento de Ingeniería Electrónica, CENIDET, Cuernavaca. Mor. México. Enero 2009.
AT709.
[10] Martínez Peña Enrique “Control de un Robot tipo PUMA utilizando celdas
neuronales analógicas”. Tesis Maestría en Ciencias en Ingeniería Mecatrónica,
Coordinación de Mecatrónica, CENIDET, Cuernavaca, Morelos, México. Diciembre de
2008. AT694.
[11] Gorrostieta Efrén y Vargas Soto Emiliano, “Algoritmo difuso de locomoción libre para
un robot caminante de seis patas”. Computación y Sistemas Vol. 11 No. 3,2008 pp. 260-287
ISSN 1405-5546. Universidad Autónoma de Querétaro, Querétaro
cenidet LRC: ECNA
75
[12]E. Calle, I. Ávila, J. Zambrano “Diseño e Implementación de un Robot Móvil
Cuadrúpedo”. Revista Tecnológica ESPOL, vol. 20, N.1, 65-72.
[13] Julio Pérez Machorro “Generación de Locomoción de un hexápodo usando dos células
neuronales analógicas”. Tesis Maestría en Ciencias en Ingeniería Mecatrónica,
Coordinación de Mecatrónica, CENIDET, Cuernavaca, Morelos, México. Junio de 2009.
[14]Hashan Feng and Runxiao Wang “Construction of central pattern generator for
quadruped locomotion control”. International Conference on Advanced Intelligent
Mechatronics, 2008. AIM 2008. IEEE/ASME Julio 2008 pp. 979-984.
[15] Tadashi Komatsu and Makiko Usui. “Dynamic Walking and Running of a Bipedal
Robot using Hybrid Central pattern generator method.” IEEE International Conference on
Mecchatronics & Automation Niagara Falls Canada Julio 2005 pp. 987-992.
[16] Francesco Tenore, R. Jacob Vogelstein, Ralph Etienne – Cummings “Sensor-based
Dynamic Control of the Central Pattern Generator for Locomotion” IEEE (IEEE Xplore)
2007 pp. 613-616
[17] Fumiya Iida, Gabriel Gómez and Rolf Pfeifer “Exploiting Body Dynamics for
Controlling a Running Quadruped Robot” IEEE (IEEE Xplore) 2005. pp. 229 – 235.
[18] Kazuki Nakada, Tetsuya Asai and Yoshihito Amemiya “An Analog CMOS Central
Pattern Generator for Interlimb Coordination in Quadruped Locomotion”. IEEE
Transactions on Neural Networks Vol. 14 No. 5 September 2003.
[19] Michael Kent “Diccionario Oxford de Medicina y Ciencias del Deporte” Ed.
Paidotribo pp. 840, 2003.
[20] Villanueva Espinoza, María del Rosario. “Las Redes Neuronales Artificiales Y Su
Importancia Como Herramienta En La Toma De Decisiones”. Trabajo de Investigación.
Facultad de Ciencias Matemáticas, Universidad Nacional Mayor de San Marcos. Lima
Perú. [En línea:
http://sisbib.unmsm.edu.pe/BibVirtual/tesis/Basic/Villanueva_EM/villanueva_em.htm
]
[21] Arena Paolo y Fortuna Luigi “Analog Cellular Locomotion Control of Hexapod
Robots” IEEE pág. 21–36 Diciembre del 2002.
[22] Chua, L., Roska, T. “The CNN paradigm”, IEEE Transactions on circuits and systems
vol. 40, no. 3, pp. 147-156, 1993.
Referencia Bibliográfica cenidet
76
[23] Paolo Arena et. al. “Bio-inspired Emergent Control of Locomotion Systems”, vol. 48.
World Scientific, Singapore, 2004.
[24] Boylestad Nashelsky “Electrónica: Teoría de circuitos y dispositivos electrónicos” 8va
edición Año 2003.
[25] Calleja Gjumlich Jorge Hugo manual “Circuitos Electrónicos analógicos teoría y
aplicaciones”, CENIDET
[26] Amplificadores Operacionales [En línea. Disponible:
www.ate.uniovi.es/8840/Amplificadores_Operacionales.ppt ].
[27] Bharathwaj, Muthuswamy, “Implementing Central Pattern Generators for Bipedal
Walkers using Cellular Neural Networks”, University of California, Berkeley, project
report, Spring 2005.
[28] Kraimon Maneesilp, Boonchana Purahong and Pitikhate Sooraksa “A new Analog
Control Circuit Design for Hexapod using Cellular Neural Network”. The 30th Annual
Conference of the IEEE Industrial Electronics Society. Pp. 2506 – 2510. November 2004.
[29] Kazuki NAKADA, Tesuya ASAI and Yoshihito AMEMIYA “An Analog CMOS
Circuit Implementing CPG Controller for Quadruped Walking Robot”. Proceedings of the
2nd International Symposium on Adaptive Motion of Animals and Machines, Kyoto,
March 4-8, 2003.
[30] José Emilio Vargas Soto “Diseño y realización de algoritmo de locomoción libre para
robots caminantes de cuatro patas”. Año 1994. [En línea. Disponible:
http://www.mecatronica.net/emilio/tesis/Tesis-DrEmilio00.pdf].
[31] Sedeño Bustos Elizabeth Primer Avance de Tesis “Control de un Robot Cuadrúpedo:
un enfoque a Redes Neuronales Analógicas”. December 2009.
[32] Serway R. A. “Física”. Editorial McGraw-Hill. (1992).
[33] Online Materials Information Resource. [En línea. Disponible:
www.iearobotics.com/personal/andres/proyectos/pucho/pucho.html].
[34] Russel C. Hibbeler. "Mecánica Vectorial para ingenieros: Estática". Editorial Pearson Prentice Hall (2004).
cenidet LRC: ECNA
77
Anexos
Anexos cenidet
78
cenidet LRC: ECNA
79
Anexo A: Dibujo Robot Cuadrúpedo
Anexos cenidet
80
cenidet LRC: ECNA
81
Anexos cenidet
82
cenidet LRC: ECNA
83
Anexo B: Programa en C-Compiler
Anexos cenidet
84
#include <18F1320.h> #fuses HS,NOWDT,NOPROTECT #use delay(clock=20000000) int pot1a, pot1b, pot2a, pot2b, aux1, aux2, diferencial, diferencial1, variable, conteo; int1 boleano=1; VOID MAIN() setup_adc(ADC_CLOCK_INTERNAL); //enables the a/d module and sets the clock to internal adc clock setup_adc_ports(ALL_ANALOG); //sets all the adc pins to analog set_tris_b(0x00); output_high(PIN_B4); // rutina para encender el LED durante 1 segundo delay_ms(250); delay_ms(250); delay_ms(250); delay_ms(250); output_low(PIN_B4); conteo=0; //A2 entrada del opam //A3 salida a los 2n2222 while(true) set_adc_channel(0);//the next read_adc call will read channel 0 delay_us(10); pot1a=read_adc(); set_adc_channel(1);//the next read_adc call will read channel 0 delay_us(10); pot2a=read_adc(); // PRIMERA ETAPA.- HACEMOS LA REFERENCIA 0, Por lo que restamos 13 a la magnitud adquirida. if (pot1a<13)
cenidet LRC: ECNA
85
pot1a=0; else pot1a=pot1a-13; if (pot2a<13) pot2a=0; else pot2a=pot2a-13; // SEGUNDA ETAPA.- Si el valor de POT1A Y/O POT2A es menor a 36, AUX vale 1. Pero si son mayor a 36, descomponemos el 2 bloques y la variable AUX vale 2 if (pot1a<=36) aux1=1; if (pot1a>36) pot1b=pot1a-36; pot1a=36; aux1=2; if (pot2a<=36) aux2=1; if (pot2a>36) pot2b=pot2a-36; pot2a=36; aux2=2;
Anexos cenidet
86
// TERCERA ETAPA. Alzamos todos los pines. output_high(PIN_B3); output_high(PIN_B2); output_high(PIN_B1); output_high(PIN_B0); // CUARTA ETAPA, Iniciamos comparaciones. if(aux1>aux2) // si la lectura ADC1 es mayor a ADC2 diferencial=(36+pot1b)-pot2a; if (diferencial<=36) delay_ms(1); delay_us (248-(pot1b*7)); output_low(PIN_B3); delay_us(diferencial*7); output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(diferencial*7); output_low(PIN_B2); delay_ms(18); delay_us(248-(pot1b*7)); else diferencial1=diferencial-36; delay_ms(1); delay_us(248-(pot1b*7)); output_low(PIN_B3); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B2); delay_ms(18); delay_us(248-(pot1b*7));
cenidet LRC: ECNA
87
else if (aux1<aux2) diferencial=(36+pot2b)-pot1a; if (diferencial<=36) delay_ms(1); delay_us(248-(pot2b*7)); output_low(PIN_B1); delay_us(diferencial*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(diferencial*7); output_low(PIN_B0); delay_ms(18); delay_us(248-(pot2b*7)); else diferencial1=diferencial-36; delay_ms(1); delay_us(248-(pot2b*7)); output_low(PIN_B1); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(252); delay_us(diferencial1*7); output_low(PIN_B0); delay_ms(18); delay_us(248-(pot2b*7)); else if (aux1==aux2 && aux1==1)
Anexos cenidet
88
if (pot1a>pot2a) diferencial=pot1a-pot2a; delay_ms(1); delay_us(252); delay_us(248-(pot1a*7)); output_low(PIN_B3); delay_us(diferencial*7); output_low(PIN_B1); delay_us(pot2a*7); delay_us(pot2a*7); output_low(PIN_B0); delay_us(diferencial*7); output_low(PIN_B2); delay_ms(18); delay_us(252); delay_us(248-(pot1a*7)); else if (pot1a<pot2a) diferencial=pot2a-pot1a; delay_ms(1); delay_us(252); delay_us(248-(pot2a*7)); output_low(PIN_B1); delay_us(diferencial*7); output_low(PIN_B3); delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); delay_us(diferencial*7); output_low(PIN_B0); delay_ms(18); delay_us(252); delay_us(248-(pot2a*7)); else if (pot1a==pot2a) delay_ms(1); delay_us(252); delay_us(248-(pot1a*7)); output_low(PIN_B1); output_low(PIN_B3);
cenidet LRC: ECNA
89
delay_us(pot1a*7); delay_us(pot1a*7); output_low(PIN_B2); output_low(PIN_B0); delay_ms(18); delay_us(252); delay_us(248-(pot1a*7)); else if (aux1==aux2 && aux1==2) if (pot1b>pot2b) diferencial=pot1b-pot2b; delay_ms(1); delay_us(248-(pot1b*7)); output_low(PIN_B3); delay_us(diferencial*7); output_low(PIN_B1); delay_us(252); delay_us(pot2b*7); delay_us(pot2b*7); delay_us(252); output_low(PIN_B0); delay_us(diferencial*7); output_low(PIN_B2); delay_ms(18); delay_us(248-(pot1b*7)); else if (pot1b<pot2b) diferencial=pot2b-pot1b; delay_ms(1); delay_us(248-(pot2b*7)); output_low(PIN_B1); delay_us(diferencial*7); output_low(PIN_B3); delay_us(252); delay_us(pot1b*7); delay_us(pot1b*7); delay_us(252); output_low(PIN_B2); delay_us(diferencial*7);
Anexos cenidet
90
output_low(PIN_B0); delay_ms(18); delay_us(248-(pot2b*7)); else if (pot1b==pot2b) delay_ms(1); delay_us(248-(pot1b*7)); output_low(PIN_B1); output_low(PIN_B3); delay_us(252); delay_us(pot1b*7); delay_us(pot1b*7); delay_us(252); output_low(PIN_B2); output_low(PIN_B0); delay_ms(18); delay_us(248-(pot1b*7)); set_adc_channel(2); delay_us(10); variable=read_adc(); if (variable>=150 && CONTEO==250) boleano=!boleano; if (boleano==1) output_high(PIN_A3); if (boleano==0) output_low(PIN_A3); CONTEO=0; conteo=conteo+1; IF (conteo==251) conteo=250;
cenidet LRC: ECNA
91
pot1a=0; pot1b=0; pot2a=0; pot2b=0; aux1=0; aux2=0; diferencial=0; diferencial1=0; variable=0;
Anexos cenidet
92
Ejemplos de los casos que se encontraran en las señales de las neuronas. CASO 3
pot1a=86 86-13=73 pot1b=73-36=37 pot1a=36 aux1=2 pot2a=11 0 aux2=1
aux1 mayor aux2 2 mayor 1
220 mV; ADC = 11
1.7 V; ADC = 86
cenidet LRC: ECNA
93
CASO 4
pot1a=11 0 aux1=1 pot2a=25 25-13=12 aux2=1
aux1==aux2 1==1
pot1a menor que port2a 0 menor que 12
220 mV; ADC = 11
1.7 V; ADC = 86
0.5 V; ADC = 25
Anexos cenidet
94
CASO 5
pot1a=11 0 aux1=1 pot2a=86 86-13=73 potb2=73-36=37 port2a=36 aux2=2
aux1 menor que aux2 1 menor que 2
220 mV; ADC = 11
1.7 V; ADC = 86
cenidet LRC: ECNA
95
Anexo C: Circuitos Esquemáticos
Anexos cenidet
96
cenidet LRC: ECNA
97
Anexos cenidet
98
cenidet LRC: ECNA
99
Anexos cenidet
100
cenidet LRC: ECNA
101
Anexo D: Circuitos Impresos
Anexos cenidet
102
Anexo D1 Disposición espacial de los componentes del robot.
Después de hacer las pruebas se pasó a la elaboración de circuitos en placa, el
software que se utilizó fue Altium Designer ®, donde se elaboraron 4 circuitos que están
colocados dentro del robot y dos más que son el transmisor y receptor. La distribución de
circuitos en el cuerpo del robot es el siguiente:
Figura 65 Cuerpo del robot con los 4 circuitos
Anexo D2 Diseño del Transmisor
Se elaboró el circuito del transmisor con medidas 31mm x 28mm, se alimenta con
dos pilas de botón de 3V, cabe mencionar que el regulador (Reg-1) mostrado en la Figura
66 (a) se descartó debido a que el voltaje suministrado es de 6V y el regulador necesita 3V
arriba del su valor para poder operar. Este circuito se adaptó a un control remoto de un
estéreo de automóvil.
(a) (b)
Figura 66 Circuito Transmisor (a) Altium (b) circuito en control remoto
cenidet LRC: ECNA
103
Anexo D3 Diseño del Receptor
En el circuito del receptor se incluyeron los relevadores con capacitores como se
muestra en la Figura 67, la placa se elaboro a doble vista, el fototransistor irá en la parte de
atrás, con el fin de salga del cuerpo del robot y así tener comunicación con el transmisor,
las medidas del circuito son de 42mm x 46mm. En la parte de abajo en la Figura 67 (a) se
muestra una tira de pines, esa tira de 7 pines es para tener comunicación con las CNNs y la
alimentación. La conexión de la tira es la siguiente, empezando del pin en forma cuadrada
hacia la izquierda, (CNN2 sw1, CNN2 sw2, +12Vcd, GND, 5Vcd, CNN1 sw1, CNN1
sw2).
(a) (b)
Figura 67 Receptor con Relevadores
Anexo D4 Diseño de la CNN 1 y 2
Los circuitos de las CNN1 y 2 tienen una medida de: 42mm x 40mm, la placa es a
doble vista, como se puede ver en la Figura 68, también cuenta con una tira de pines de 7, y
la conexión es de esta es la siguiente, cabe mencionar que CNN1 y la CNN2 sus
conexiones son diferentes.
CNN 1: (CNN1 sw2, CNN1 sw1, +12Vcd, -12Vcd, GND, Y1, In)
CNN 2: (Y1, In, +12Vcd, -12Vcd, GND, CNN2 sw1, CNN2 sw2)
Anexos cenidet
104
Figura 68 Circuito de la CNN1 y CNN2
Anexo D5 Diseño del Circuito Principal
En esta tarjeta se encuentran OFFSET, PIC, 74LS04, optoacopladores, servomotores (este
último circuito se utilizaron de montaje superficial, debido al espacio reducido del cuerpo
del robot). Las medidas son: 72mm x 44mm. En esta se colocaron los tres circuitos antes
mencionados; los pines de la parte izquierda se colocó la placa del receptor, los pines que
se encuentran en la parte de arriba se colocó la CNN1, los pines de abajo se conectó la
CNN2 y los pines que se encuentran a la derecha, esos alimentan todo el circuito. Los
cuatro grupos de pines de tres (machos) se utilizan para la conexión de los servomotores y
la tira de los cinco pines (macho) se utiliza para programar el PIC (Al programar el
microcontrolador es necesario desconectar la alimentación). Para nombrar los pines de
alimentación se toman como base el pad en forma cuadrada hacia delante.
Alimentación: (12Vcd RELE, GND opto, 5Vcd opto, GND, 5Vcd PIC, 12Vcd CNN, -12Vcd
CNN).
Figura 69 Circuito Principal
cenidet LRC: ECNA
105
Figura 70 Unión de las cuatro placas
Anexos cenidet
106
cenidet LRC: ECNA
107
Anexo E: Hojas de Datos
Anexos cenidet
108
cenidet LRC: ECNA
109
Anexos cenidet
110
cenidet LRC: ECNA
111
Anexos cenidet
112
cenidet LRC: ECNA
113
Anexos cenidet
114
cenidet LRC: ECNA
115