Control robótico mediante simulación neuronal Usuario de Microsoft Office Control de un robot tipo “tanque“ mediante la simulación del sistema neuronal del nematodo conocido con el nombre de Caenorhabditis Elegans (C. Elegans) Universidad Mariano Gálvez de Guatemala
Chiquimula, Chiquimula Noviembre de 2016
Inteligencia Artificial Ing. Sergio Iván Regalado
Universidad Mariano Gálvez de Guatemala Chiquimula Inteligencia Artificial Ing. Sergio Iván Regalado Integrantes del Grupo Carias Vidal, Rony David 1390-11-991 Recinos Marroquín, Julia María 1390-08-7067 Picén Orellana, Delmer Aníbal 1390-10-5688 Umaña, Douglas Alejandro 1390-10-12574 Rivas Escobar, Víctor Alfonso 1390-07-18574 Cortez Solis, José Luis 1390-12-10618
Chiquimula, noviembre de 2016
Tabla de contenidos I.
Introducción ............................................................................................................ I
II.
Resumen ................................................................................................................. II
1.
Marco conceptual .................................................................................................. 1 1.1 Antecedentes ....................................................................................................... 1 1.2 Justificación .......................................................................................................... 3 1.3 Objetivo ................................................................................................................ 4 1.3.1 General .......................................................................................................... 4 1.3.2 Específicos ..................................................................................................... 4
2.
Marco Teórico ........................................................................................................ 5 2.1 La neurona ............................................................................................................ 5 2.1.1 Anatomía de la neurona ............................................................................... 6 2.1.1.1 Soma ................................................................................................... 7 2.1.1.2 Dendrita .............................................................................................. 7 2.1.1.3 Axón .................................................................................................... 7 2.2 Funcionamiento de la neurona ............................................................................ 7 2.2.1 La sinapsis ...................................................................................................... 8 2.3 Tipos de neurona según su función ..................................................................... 9 2.3.1 Neuronas sensoriales ................................................................................. 9 2.3.2 Neuronas motoras .................................................................................... 10 2.3.3 Interneuronas ........................................................................................... 11 2.4 Redes neuronales ......................................................................................... 11 2.4.1 Redes neuronales artificiales .................................................................... 12 2.4.1.1 Neurona artificial .............................................................................. 12 2.4.1.2 El Perceptrón .................................................................................... 13 2.5 Redes neuronales y el comportamiento ............................................................ 14 2.5 Caenorhabditis Elegans (C. Elegans) ............................................................. 15 2.6.1 Características ............................................................................................ 16 2.6.2 C. Elegans como modelo de estudio ........................................................... 16
2.7 3.
Proyecto OpenWorm ................................................................................... 17
Marco metodológico ............................................................................................ 19 3.1 Conectoma del C. elegans .................................................................................. 19 3.1.1 Neuronas sensoriales .................................................................................. 20 3.1.2 Neuronas motoras ...................................................................................... 21 3.1.3 Simulación del conectoma .......................................................................... 21 3.2 Simulación del C. elegans usando robótica ........................................................ 22 3.2.1 Arduino nano ............................................................................................ 23 3.2.1.1 Características .................................................................................. 24 3.3.2 Sistema motor ............................................................................................. 25 3.2.1.2 Driver de control de motores ........................................................... 25 3.2.2 Sensores de entrada ................................................................................. 26 3.2.2.1 Sensor ultrasónico ............................................................................ 26 3.2.2.2 Sensor de gas .................................................................................... 27 3.2.2.3 Sensor PIR ......................................................................................... 28 3.2.3 Estructura del robot ................................................................................. 28 3.2.4 Alimentación ............................................................................................ 29 3.2.5 Firmware .................................................................................................. 30 3.3
Construcción del prototipo .......................................................................... 31
3.3.1
Sistema motor y alimentación .................................................................. 31
3.3.2
Placa principal y driver de motores .......................................................... 31
3.3.3
Placa de sensores ..................................................................................... 32
3.4
Costos ........................................................................................................... 33
4.
Resultados ............................................................................................................ 33
III.
Conclusiones ..................................................................................................... 35
IV.
Recomendaciones ............................................................................................ 36
V. Bibliografía ........................................................................................................... 37 VI.
Anexos .............................................................................................................. 39
A. Placas de circuito impreso .................................................................................... 39 B. Fotografías ............................................................................................................ 40 C.
Código fuente ....................................................................................................... 40
Universidad Mariano Gálvez de Guatemala I Control robótico mediante simulación neuronal
I. Introducción La búsqueda de una Inteligencia Artificial (I.A.) ha llevado por diferentes senderos a la humanidad. No podríamos decir que esta búsqueda nació con las computadoras, pues ha existido desde mucho tiempo atrás, incluso previo al auge de la tecnología y la ciencia nuestros antepasados imaginaron seres u objetos dotados inteligencia mediante magia o como regalos de sus dioses. Sin embargo no es hasta el nacimiento de la computación como ciencia que se logró la creación de máquinas con capacidades de cálculo e incluso razonamiento más veloz que las realizadas por un humano, pero estos adelantos (incluso los actuales en cuanto a I.A) distan mucho de lo que realmente se espera de una inteligencia artificial, el cerebro humano sigue siendo superior a las maquinas en cuanto a razonamiento, capacidad de reconocer patrones y aprendizaje. Muchas de las máquinas que se nos presentan como máquinas inteligentes, no son más que una simple representación abstracta del pensamiento humano que busca plasmar las formas de razonamiento básicas mediante la programación, estableciendo condiciones preestablecidas a las que la máquina reacciona. Otro tipo de máquina cuentan con algoritmos que les permiten aprender y decidir en cuanto a sus experiencias anteriores, convirtiéndose en máquinas superiores a las primeras pues cuentan con programación basadas en redes neuronales imitando a las redes con las que cuentan los organismos biológicos. En la investigación contenida en este documento se explora otro tipo de máquinas que funcionan imitando de manera más realista a la biología, siempre utilizando sistemas basados en redes neuronales que dejan de ser una simple imitación a ser copias exactas del sistema neuronal, una rama nueva e inexplorada comparada con las otras investigaciones de búsqueda de una inteligencia artificial.
Universidad Mariano Gálvez de Guatemala II Control robótico mediante simulación neuronal
II. Resumen La neurona es una célula con una forma básica muy similar a las demás células del cuerpo pero forma parte principal en la conformación del sistema nervioso por lo que cuenta con algunas partes especializada para cumplir con las funciones de este sistema. Entre sus capacidades especializadas están el ser capaz de transmitir los impulsos neuroquímicos que son las señales con las que se comunican las sensaciones, se envían las órdenes del movimiento y se genera el procesamiento de las señales del entorno. El cerebro es una de las principales partes donde se encuentran conglomeradas las neuronas y está lleno de los que se conoce como redes neuronales que es la forma en que se conectan las neuronas entre sí, formando circuitos que capaces de procesar la información y generar las complejas respuestas del cuerpo, pasando por el simple movimiento hasta el razonamiento y el aprendizaje. Sabiendo que las neuronas y por extensión las redes neuronales son parte fundamental en el razonamiento muchas investigaciones en búsqueda de crear una inteligencia artificial han venido trabajando simulándolas mediante tecnologías computacionales aprovechando las capacidades de estas en el aprendizaje entrenándolas para realizar labores complejas similares a las realizadas por el cerebro humano. Otros también investigan las redes neuronales pero yendo por otro camino, no creándolas desde cero si no que copiándolas de otros organismos; aunque esta técnica es más compleja y por ello se ha empezado con organismos más simples como el nematodo Caenorhabditis Elegans (C. Elegans) que cuenta con apenas 302 neuronas pero aún con esa simplicidad tiene comportamientos complejos. El proyecto OpenWorm trabaja en el estudio del C. Elegans y busca la creación del primer organismo virtual del mundo y en la actualidad poseen la simulación de todo el sistema neuronal y sistema motor y en base a esta simulación se han construido algunos robots en plataformas como raspberry pi o en computadoras y partiendo de esto nace este proyecto que busca lo mismo pero usando una tarjeta arduino nano V3.
Universidad Mariano Gálvez de Guatemala 1 Control robótico mediante simulación neuronal
1. Marco conceptual 1.1 Antecedentes Warren S. MaCulloch y Walter Pitts (Mcculloch & Pitts, 1943), investigadores de la Universidad de Illinois, Estados Unidos, publicaron un boletín con los resultados de su investigación y trabajo en el campo de la neurociencia computacional. Comprobaron el modelo biológico de las neuronas como unidad básica del cerebro, haciendo referencia a la estructura de red del sistema nervioso y el hecho de que la constitución de las neuronas cumple la ley “all-or-none” (todo o nada) en el cual, cada neurona tiene un umbral que al ser excedido hace que la neurona se dispare excitando a la siguiente dentro de la red, por lo tanto una actividad neuronal puede ser presentada usando símbolos lógicos proposicionales, donde para cada reacción de cualquier neurona habrá una correspondiente aserción de una simple proposición. Los autores manejan el concepto de que las redes neuronales y la forma en que se definen, intervienen en el comportamiento de las personas, aludiendo a que redes neuronales “no definidas” conllevarían a comportamientos “no definidos”. Los autores concluyen su artículo haciendo referencia a lo que creen o suponen ciencias que estudian el comportamiento humano y el cerebro como la psicología, la psiquiatría y la neurología. La publicación establece uno de los primeros intentos de establecer un modelo matemático del funcionamiento del sistema nervioso y por extensión del cerebro. Frank Rosenblatt (1958) introduce el concepto del “Perceptrón” definido como una maquina o sistema nervioso hipotético, el cual es diseñado con el fin de ilustrar las propiedades de los sistemas inteligentes en general. Se refiere a los modelos descritos por Warren S. MaCulloch y Wlater Pitts y sus trabajos en la lógica simbólica y el concepto de la neurona como elemento “on-off” agregando un elemento nuevo: un análisis matemático sobre el aprendizaje en su Perceptrón, buscando responder a las preguntas del como la información es almacenada y recordada o cómo influye dicha información en el comportamiento. Su concepto es que las conexiones neuronales no son
Universidad Mariano Gálvez de Guatemala 2 Control robótico mediante simulación neuronal
aleatorias sino que también puede influir la genética y que las conexiones neuronales pueden ir reforzándose o desapareciendo según se adquiere experiencia. Timothy Busbice (2014) basado en la investigación sobre el conectoma del Caenorhabditis elegans (C. Elegans) realizó un trabajo de investigación, programando una aplicación para computadora con conectividad hacia un robot fabricado usando Lego Mindstorms, su objetivo fue simular la actividad neuronal del C. Elegans, excitando el sistema neuronal con la información obtenida por los sensores del robot. Sin programar un comportamiento, mediante el proceso de las distintas señales que se propagan a través de la conexión neuronal simulada, pudo observar una similitud entre los movimientos del robot y los movimientos del gusano en estudio. En su opinión, la simulación de sistemas simples son los primeros pasos para simular organismos más complejos (ratones o peces) que llevará a robots completamente autónomos que podrán ser utilizados en actividades riesgosas como la búsqueda de supervivientes de catástrofes naturales o generadas por eventos como derrumbes en construcciones.
Universidad Mariano Gálvez de Guatemala 3 Control robótico mediante simulación neuronal
1.2 Justificación La simulación es una técnica utilizada por muchos investigadores y científicos en varios ámbitos. Existen modelos simulados de muchos sistemas que permiten realizar estudios sin la presencia de los objetos reales, brindando comodidad y facilitando la tarea de obtención de resultados y realización de experimentos que involucren cambios de variables para observar en que forma afectan a los resultados finales. La inteligencia artificial (IA) también busca alcanzar sus objetivos por medio de la simulación, aunque hay que reconocer que existen diversos conceptos sobre lo que es una IA y como reconocerla, del mismo modo también existen diversas investigaciones en curso tratando de conseguir una IA real cada uno con diversos métodos. Algunas de estas investigaciones tienen la creencia firme de que se podría obtener una IA mediante la simulación de los sistemas neuronales ya existentes en la naturaleza, copiando una a una las conexiones de las células cerebrales de un cerebro de un organismo vivo. Es necesario investigar cómo influyen las conexiones neuronales en el comportamiento de los organismos, determinar si la toma de decisiones va de la mano con las conexiones cerebrales que forman su cerebro y por lo tanto si se copiara dicho mapa cerebral, se lograría emular o simular al organismo bajo estudio. Cualquier persona que estudie el cerebro (humano o animal) se ha visto en la necesidad de experimentar en espécimen vivo, pero limitado muchas veces por aspectos éticos, limitando por lo tanto el avance en sus investigaciones, limitación que no existiría si se contara con una forma de emular la actividad cerebral del organismo en cuestión. Los resultados de esta investigación podrán acercarnos más a la posibilidad de simular un cerebro y comprobar si la forma en que está conformado determina el comportamiento, además servirá como una herramienta para las personas cuyo trabajo entre en contacto con temas relacionados a las redes neuronales.
Universidad Mariano Gálvez de Guatemala 4 Control robótico mediante simulación neuronal
1.3 Objetivo
1.3.1 General Utilizar tecnología de micro controladores y su respectiva programación, realizar el modelado del sistema de conexión neuronal de un organismo vivo; para simular su actividad cerebral y utilizando las señales proporcionadas por dicha simulación, controlar un robot con el fin de observar su comportamiento y compararlo con el comportamiento del organismo real.
1.3.2 Específicos Determinar la posibilidad de realizar una copia de una red neuronal de un organismo vivo, utilizando técnicas de programación sobre un dispositivo micro controlado. Utilizar técnicas de optimización de código y técnicas de programación estructurada con el fin de lograr una simulación de la red neuronal completa usando para ello un dispositivo de prestaciones limitadas en cuanto a su memoria y capacidad de procesamiento. Proporcionar la información necesaria para la construcción de una herramienta de estudios útil para investigadores de diversas disciplinas como la neurología, robótica e inteligencia artificial, proporcionándoles una forma de analizar el comportamiento de una red neuronal, misma que al ser simulada podrá ser manipulada de forma fácil y sin la presencia de un espécimen vivo. Explorar la técnica de control robótico en la cual, el comportamiento no está basado en las condiciones lógicas establecidas por su programador, si no que reaccione de manera autónoma, siendo capaz de tomar sus propias decisiones de acuerdo con las señales generadas por redes neuronales artificiales.
Universidad Mariano Gálvez de Guatemala 5 Control robótico mediante simulación neuronal
2. Marco Teórico 2.1 La neurona
Las neuronas (del griego νεῦρον neûron, ‘cuerda’, ‘nervio’), son la unidad básica con el que está construido el sistema nervioso. La función principal es la recepción de estímulos provenientes de los sistemas sensoriales y su transmisión mediante impulsos eléctricos hacia otros tipos de células que pueden ser otras neuronas o células musculares las cuales a su vez producirán una respuesta al estímulo recibido. El médico español Santiago Ramón y Cajal (1852-1934) fue quien propuso a la neurona como el elemento funcional del sistema nervioso, proponiendo que cada célula actúa como una entidad discreta que mediante la intercomunicación con otras, establecerían una especie de red especializada cuya interacción da lugar a respuestas complejas.
Figura 1. Dibujo de Ramón y Cajal representando la teoría reticularista de Golgi (izquierda) y su teoría neuronal (derecha), con el ejemplo de las conexiones sensori-motoras de la médula espinal.
Universidad Mariano Gálvez de Guatemala 6 Control robótico mediante simulación neuronal
El trabajo de Cajal llegó a ser conocido como Doctrina de la neurona y sus aportaciones a la neurociencia lo hicieron merecedor del premio nobel en Fisiología o Medicina galardón que compartió con el investigador italiano Camillo Golgi (The Nobel Prize in Physiology or Medicine 1906). Fue el patólogo alemán Heinrich Wilhelm Gottfried Waldeyer (1836-1921) quien en 1891 nombró a la célula con el nombre con el que la conocemos, basado en los trabajos de Cajal.
2.1.1 Anatomía de la neurona
La forma de las neuronas difiere mucho de las demás células del cuerpo, no solo en su forma física sino que también en sus dimensiones. Una neurona pude llegar a medir incluso un metro, mientras que las demás células tienen medidas en el orden de los micrones, esto ubica a las neuronas entre las células más largas del cuerpo. Una neurona típica tiene todas las partes que cualquier otra célula pueda tener, y unas pocas estructuras especializadas que la diferencian. (Boeree)
Una neurona es una célula del tipo eucariota y en su morfología se distinguen las siguientes partes:
Figura 2. Anatomía de la neurona. Fuente: https://askabiologist.asu.edu/anatomia -de-la-neurona
Universidad Mariano Gálvez de Guatemala 7 Control robótico mediante simulación neuronal
2.1.1.1 Soma Es el cuerpo celular de la neurona, es la parte principal y contiene todos los organelos y el núcleo de la célula que contiene el material genético en forma de cromosomas. También se le conoce con el nombre pericarion y de aquí nacen los dos tipos de conexiones que una neurona tiene.
2.1.1.2 Dendrita Son ramificaciones que se originan desde el soma, se ven como puntos extendiéndose desde el cuerpo celular y su función principal es la recepción de impulsos nerviosos que se originan en los axones de otras neuronas y enviarlos al soma de la neurona a la que pertenecen.
2.1.1.3 Axón Es una prolongación que al igual que las dendritas, parten del soma, pero su función es la conducción de los impulsos nerviosos hacia otra célula. Suelen estar recubiertos de una substancia llamada mielina cuya función es facilitar la transmisión de los impulsos nerviosos, está cubierta también cumple con la función de aislación, similar a la aislación de los cables eléctricos.
2.2 Funcionamiento de la neurona Los impulsos nerviosos son trasmitidos entre las neuronas empleando un tipo especial de señal eléctrica, estos impulsos nerviosos pueden ser provocados por la información generada por órganos sensoriales o ser instrucciones para otras células en los órganos, músculos o glándulas.
Universidad Mariano Gálvez de Guatemala 8 Control robótico mediante simulación neuronal
La transmisión de estos impulsos es conocida como propagación. Los impulsos no son transmitidos en el instante mismo en que llegan, si no que obedecen a un mecanismo de disparo. “At any instant a neuron has some threshold, which excitation must exceed to initiate an impulse” (Mcculloch & Pitts, 1943) Cada neurona posee un umbral que determina el disparo, las dendritas reciben el estímulo de las neuronas vecinas en el sistema, estimulo que puede ser de excitación cuando incrementa el potencial neuroeléctrico y de inhibición cuando produce un decremento de ese potencial, cuando la sumatoria de esos estímulos sobrepasa el umbral, se dice que la neurona se dispara produciendo un impulso que se transmite a sus neuronas vecinas, este mecanismo sucede al nivel de lo que se conoce como sinapsis. 2.2.1 La sinapsis
Cuando el potencial de acción alcanza la terminación del axón, causa que diminutas burbujas químicas llamadas vesículas descarguen su contenido en el salto sináptico. Esas sustancias químicas son llamadas neurotransmisores. Estos navegan a través del salto sináptico hasta la siguiente neurona, donde encuentran sitios especiales en la membrana celular de la siguiente neurona llamados receptores. El neurotransmisor actúa como una pequeña llave, y el lugar receptor Figura 3. Sinapsis de una neurona. Fuente: como una pequeña cerradura. www.psicologiaonline.com/ebooks/general/neuronas.htm Cuando se encuentran, abren un camino de paso para los iones, los cuales cambian el balance de iones fuera y dentro de la siguiente neurona. Y el proceso completo comienza de nuevo. (Boeree)
Universidad Mariano Gálvez de Guatemala 9 Control robótico mediante simulación neuronal
2.3 Tipos de neurona según su función
Si bien existen varias formas de clasificar una neurona, según la función que realizan pueden clasificarse de 3 formas.
2.3.1 Neuronas sensoriales
Conocidas también con el nombre de aferentes, son las neuronas que se encargan de transportar la información del exterior, de sistemas sensoriales como el gusto, tacto y la visión, aunque también pueden transportar estímulos provenientes de glándulas, vasos sanguíneos y viseras, las primeras son llamadas somáticas y las segundas viscerales.
Las prolongaciones de estas neuronas están incluidas en las fibras nerviosas aferentes somáticas y aferentes viscerales. Las fibras aferentes somáticas transmiten las sensaciones de dolor, temperatura, tacto y presión desde la superficie corporal. Además estas fibras transmiten propiocepción ( percepción de los movimientos y la posición del cuerpo) (Nicolai, De Ambrosis, & Bizzozzero )
Figura 4. Neurona Sensorial. Fuente: http://histologiaub.blogspot.com/p/clasificacion.html
Universidad Mariano Gálvez de Guatemala 10 Control robótico mediante simulación neuronal
2.3.2 Neuronas motoras
Conocidas también con el nombre de eferentes, se encargan de conducir impulsos nerviosos hacia células efectoras y al igual que las neuronas sensoriales pueden ser somáticas cuando envían estímulos hacia el musculo esquelético o viscerales si son las causantes de llevar estímulos involuntarios a glandular o a músculos lisos. Las prolongaciones de estas neuronas están incluidas en las fibras nerviosas eferentes somáticas y eferentes viscerales. Las neuronas eferentes somáticas envían impulsos voluntarios a los músculos esqueléticos. Las neuronas eferentes viscerales transmiten impulsos involuntarios al musculo liso y a las glándulas. Es decir, en pocas palabras, las neuronas motoras son las encargadas de producir la contracción de la musculatura. (Nicolai, De Ambrosis, & Bizzozzero )
Figura 5. Neurona Motora. Fuente: http://histologiaub.blogspot.com/p/clasificacion.html
Universidad Mariano Gálvez de Guatemala 11 Control robótico mediante simulación neuronal
2.3.3 Interneuronas
Son conocidas también como neuronas integradoras, representan casi un 99% del total de neuronas en un individuo, cumplen con la función de conectar a los tipos de neuronas descritas anteriormente. Son estas las que se encargan de las funciones del aprendizaje, recuerdo y control de conductas complejas. Las Interneuronas forman una red integrada de comunicación entre las neuronas sensitivas y las neuronas motoras (se calcula que más del 99,9 % de todas las neuronas pertenece a esta red de integración). (Nicolai, De Ambrosis, & Bizzozzero )
2.4 Redes neuronales
En la actualidad sabemos que el cerebro es un órgano construido a partir de las células cerebrales que reciben el nombre de neuronas, células que se unen y agrupan en redes que reciben el nombre de redes neuronales. El cerebro es el órgano que dicta las órdenes para el control de los cuerpos en los organismos multicelulares (animales y por extensión el ser humano), además de procesar la información de los estímulos recibidos por los órganos sensoriales. Una red neuronal puede ser definida también como una población de neuronas que están físicamente interconectadas o un grupo de neuronas aisladas que reciben señales que procesan a la manera de un circuito reconocible. “The nervous system is a net of neurons each having a soma and an axon. Their adjunctions, or synapses, are always between the axon of one neuron and the soma of another” (Mcculloch & Pitts, 1943) Warren Mcculloch y Walter Pitts describieron una red neuronal formada por las conexiones entre las neuronas a través de sus axones y sinapsis, muy parecido a una red eléctrica, donde las señales se transmiten mediante
Universidad Mariano Gálvez de Guatemala 12 Control robótico mediante simulación neuronal
impulsos de una neurona a otra. El circuito eléctrico más aproximado podría realizarse mediante el concepto de compuertas lógicas, con lo cual dejaría de observarse como una red eléctrica convirtiéndose en un circuito electrónico.
2.4.1 Redes neuronales artificiales
Las redes neuronales son estudiadas dentro del campo de la inteligencia artificial, se realiza con la intención de lograr modelos artificiales para solucionar problemas que son complicados de resolver mediante algoritmos convencionales. Para ello, inspirándose en el comportamiento de las redes neuronales de diversos seres vivos (incluido el ser humano) se han creado modelos artificiales de redes neuronales. Las actividades de investigación desarrolladas en torno al estudio de redes neuronales artificiales, simplemente redes neuronales o neuroredes, están motivadas en modelar la forma de procesamiento de la información en sistemas nerviosos biológicos. Especialmente, por la forma de funcionamiento del cerebro humano, que es completamente distinta al funcionamiento de un computador digital convencional. (Izaurieta & Saavedra)
2.4.1.1 Neurona artificial La neurona es la unidad base de las redes neuronales, por lo tanto para el estudio de las redes neuronales artificiales debemos de contar con un elemento artificial que emule el comportamiento de la neurona biológica. “The all-or-none law of nervous activity is sufficient to insure that the activity of any Figura 6. Modelo de neurona artificial neuron may be represented as
Universidad Mariano Gálvez de Guatemala 13 Control robótico mediante simulación neuronal
a proposition.” (Mcculloch & Pitts, 1943) Según esta definición, el modelo de neurona artificial puede ser representado usando modelos matemáticos y de lógica proposicional. En la figura 6 observamos un modelo de neurona artificial, yj representa la neurona en cuestión, las entradas del modelo provienen de sus neuronas vecinas y están representadas como wj1, wji y wj0. Este modelo no pretende modelar exactamente el comportamiento fisiológico de la neurona, sino más bien solo sus características más relevantes, que entran en juego en su interacción en una red neuronal. (Izaurieta & Saavedra).
Figura 7. Neurona biológica y neurona artificial. Fuente: https://appliedgo.net/perceptron/
2.4.1.2 El Perceptrón Una red neuronal es capaz de resolver problemas al igual que una computadora. Se dice que cualquier problema “computable” también puede ser procesado y resuelto con una red neuronal. Uno de los primeros modelos de redes neuronales fue el perceptrón, que nació como un primer intento de modelar la retina, en 1958, por Rosenblatt, agrega al esquema de redes neuronales la capacidad de aprendizaje.
Universidad Mariano Gálvez de Guatemala 14 Control robótico mediante simulación neuronal
Figura 8. Modelo de un perceptrón. Fuente:
https://web.csulb.edu/~cwallis/artificialn/History.htm
“The perceptron is designed to illustrate some of the fundamental properties of intelligent systems in general, without becoming too deeply enmeshed in the especial, and frequently unknown, conditions which hold for particular biological organism.” (Rosenblatt, 1958). F. Rosenblatt en su artículo trataba de dar respuesta a las interrogantes de como el cerebro reconoce la información, como es almacenada en los sistemas biológicos y de qué forma esta información puede influir en el comportamiento.
2.5 Redes neuronales y el comportamiento
Conociendo el hecho de que las redes neuronales son las responsables de la percepción y procesamiento de la información sensorial, y que además producen respuestas a estos estímulos, diversos científicos e investigadores reconocen y aceptan que el comportamiento de los seres vivos está condicionado por la forma en que están organizadas las neuronas en su cerebro. Macculloch y Pitts (1943) concluían su documento describiendo una idea considerada “empírica” en su tiempo, idea que expresaba que si nuestras redes neuronales no están definidas, nuestros actos estarán indefinidos
Universidad Mariano Gálvez de Guatemala 15 Control robótico mediante simulación neuronal
“With determination of the net, the unknowable object of knowledge, the "thing in itself," ceases to be unknowable”. (Mcculloch & Pitts, 1943) Una vez que las redes neuronales son definidas los objetos y situaciones desconocidas pasan a ser reconocidas.
2.5 Caenorhabditis Elegans (C. Elegans)
“In 1963, Sydney Brenner observed that the success of molecular biology was due to the existence of model systems, defined as extremely simple organisms, such as bacterial phage that can be handled in large numbers. With the awareness of how important model systems are in biological research, he introduced Caenorhabditis elegans (C. elegans) as a model organism for pursuing research in developmental biology and neurology.” (A Short History of C. elegans Research) Caenorhabditis elegans es una especie de nematodo rabdítido familia Rhabditidae que mide aproximadamente 1 mm de longitud, y vive en ambientes templados. Ha sido un importante modelo de estudio para la biología, muy especialmente la genética del desarrollo, a partir de los años 70. (Caenorhabditis elegans)
Figura 9. Fotografía microscópica de un C. Elegans. Fuente:
http://www.socmucimm.org/overview-model-organism-c-elegans/
Universidad Mariano Gálvez de Guatemala 16 Control robótico mediante simulación neuronal
2.6.1 Características
El C. elegans posee simetría bilateral, su cuerpo contiene fluidos que permiten que tenga un aspecto trasparente. A pesar de su diminuto tamaño el C. elegans posee muchos de los sistemas y órganos de animales más complejos. Su alimentación esta principalmente basada en microorganismos entre los que se encuentra la bacteria Escherichia coli. En cuanto a su reproducción, es un organismo hermafrodita, su anatomía está conformada por una boca, una faringe, gónadas, intestinos y una cutícula de colágeno. “A sophisticated knowledge infrastructure has developed, with freely disseminated research methods and protocols. The experimental attributes of C. elegans that make it successful in research laboratories also make it a favorable organism in teaching.” (A Short History of C. elegans Research) Los diversos atributos del C. elegans lo han convertido en una valiosa herramienta de investigación y de enseñanza.
2.6.2 C. Elegans como modelo de estudio C. elegans se utiliza como modelo para diversos estudios genéticos, muy especialmente en genética del desarrollo. Esto se debe a que presenta condiciones especialmente favorables (Caenorhabditis elegans), condiciones que también han permitido que sea de apoyo en el estudio de la diabetes, obesidad, Alzheimer y estudio sobre el sistema nervioso.
Entre las condiciones que favorecen que el C. elegans sea una importante herramienta en investigaciones podemos mencionar: 1. Es transparente, lo que facilita la observación de sus células y sistemas internos. 2. Es hermafrodita, lo que favorece en su reproducción y obtención de individuos con mutaciones recesivas.
Universidad Mariano Gálvez de Guatemala 17 Control robótico mediante simulación neuronal
3. La simplicidad del organismo, por ejemplo el número de células que lo componen es de unas 1000. 4. Facilidad de mantenimiento en el laboratorio.
“The C. elegans nemotode is one of the simplest multicellular organisms known. Its hermaphroditic form has only 959 cells, of which 302 are neurons. Despite this simplicity, the nematode is equal to the usual challenges of living, such as feeding, reproducing, and avoiding being eaten.” (Dodson, 2004)
La simplicidad en sus sistema neuronal es lo que lo convierte en un candidato idóneo para el estudio del sistema nervioso, el C. elegans es el único ser vivo del cual se ha logrado mapear todas las conexiones neuronales de su cerebro, generando lo que se conoce como conectoma.
2.7 Proyecto OpenWorm OpenWorm is an open source project dedicated to creating a virtual C. elegans nematode in a computer. (OpenWorm) El proyecto OpenWorm comenzó en mayo de 2013, su principal objetivo es la creación de la primera forma de vida artificial mediante modelos computarizados del C. elegans. El reto consiste en la creación de copias virtuales de cada una de las células del nematodo y conectarlas entre ellas tal y como se encuentran conectadas en el gusano real. The C. elegans nematode is one of the simplest multicellular organisms known. Its hermaphroditic form has only 959 cells, of which 302 are neurons. Figura 10. Logotipo del Despite this simplicity, the nematode is equal to the proyecto OpenWorm. Fuente: usual challenges of living, such as feeding, http://www.openworm.o reproducing, and avoiding being eaten (Dodson, 2004)
Universidad Mariano Gálvez de Guatemala 18 Control robótico mediante simulación neuronal
La tarea no es fácil aun cuando el C. elegans es un organismo muy simple, la simulación actual incluye el conectoma (302 neuronas con sus respectivas conexiones) y los 92 músculos que conforman el sistema motor.
Their hope is that realistic behavior will emerge if the individual cells act on each other as they do in the real organism. (Dodson, 2004)
Universidad Mariano Gálvez de Guatemala 19 Control robótico mediante simulación neuronal
3. Marco metodológico 3.1 Conectoma del C. elegans El C. elegans tiene solamente 302 neuronas y su mapa de conexiones neuronales está disponible en la web para que cualquier persona pueda descargarlo y estudiarlo. Como cualquier sistema neuronal biológico cuenta con una porción de su conectoma formado por neuronas sensoriales que se encargan de recoger los estímulos del medio ambiente en que se desarrolla el gusano. Entre esas 302 neuronas existen alrededor de unas 7,000 conexiones neuronales que son las conforman el total del conectoma, considerado uno de los más simples del entre los organismos vivos y que aún así, es capaz de generar todos los complejos comportamientos del C. elegans.
Figura 11. Conectoma del C. elegans. Fuente: http://www.openworm.org/
Universidad Mariano Gálvez de Guatemala 20 Control robótico mediante simulación neuronal
La información sobre las neuronas se distribuye en un formato tabulado que puede ser observado en hojas de cálculo, en varios archivos se encuentra distribuida la información que contiene entre muchos otros datos, los nombres de las neuronas, tipo, función y conexiones.
Figura 12. Vista de uno de los archivos con información neuronal del C. elegans. Fuente: http://www.openworm.org/
3.1.1 Neuronas sensoriales Recogen y transmiten la información del medio ambiente al C. elegans. El gusano tiene 86 neuronas de este tipo y proporcionan información sobre temperatura, presencia de ciertos químicos como oxígeno y CO2. La información de estas neuronas le es útil en acciones como la búsqueda de alimentos, para detectar elementos nocivos. Otro tipo de neuronas sensoriales también proporcionan información sobre los estímulos mecánicos y táctiles que son utilizados para la navegación. (Chalfie, Sulston, White, Southgate, Thomson, & Brenner, 1985)
Universidad Mariano Gálvez de Guatemala 21 Control robótico mediante simulación neuronal
3.1.2 Neuronas motoras Las neuronas motoras accionan los movimientos del gusano y por lo tanto intervienen en la locomoción del mismo, estimulando las contracciones de los 92 músculos. Algunas de estas neuronas reaccionan directamente con el estímulo de algunas neuronas sensoriales, como las de la parte frontal de la cabeza que al ser tocadas inducen un movimiento de retroceso en el gusano. “The touch receptors C. elegans moves sinuously forward and backward when undisturbed. If the animal is touched gently with a fine hair near the head, it moves backward” (Chalfie, Sulston, White, Southgate, Thomson, & Brenner, 1985)
3.1.3 Simulación del conectoma
Existe un modelo computarizado elaborado por OpenWorm, que se ejecuta en una computadora y permite observar una versión en tercera dimensión del C. elegans. Esta simulación incluye todo el conectoma y los músculos y permite observar un comportamiento muy similar al organismo vivo y sus reacciones a los estímulos coinciden con las observadas por los investigadores. Algunos investigadores han realizado una aproximación más tangible de la simulación del conectoma del C. elegans, tratando de controlar robots y observar su comportamiento generando los movimientos a partir de las señales generadas por el conectoma. En el 2014, Timothy Busbice (2014) construyo un robot usando Lego Mindstorm y mediante comunicación Wireless lo conectó a una computadora que ejecutaba una simulación del sistema neuronal del C. elegans. El robot se encargaba de proporcionar señales de entrada al conectoma mediante lectura de sus sensores. Un sonar por ultrasonidos proporcionaba estímulos a las
Universidad Mariano Gálvez de Guatemala 22 Control robótico mediante simulación neuronal
neuronas simuladas de la cabeza, un sensor de sonido a las neuronas relacionadas con la búsqueda de alimentos. “In general, the EV3 Robot using the Connectome Framework behaved in very similar ways to the behaviors observed in the biological C. Elegans. On the most simplest of terms, stimulation of food sensory neurons caused the Robot to move forward. Stimulation of the Robot’s sonar which in turn stimulated nose touch neurons, caused the robot to stop forward motion, backup and then proceed forward, usually in a slightly skewed Figura 13. Robot lego de Timothy Busbice. path”. (Busbice, 2014) http://www.i-programmer.info/news/105artificial-intelligence/7985-a-worms-mind-in a-lego-body.html
3.2 Simulación del C. elegans usando robótica
Según Busbice, se necesitan 3 partes para realizar la simulación de un conectoma: 1. El robot que proveerá la entrada de datos mediante sensores y una salida motora para el movimiento y navegación. 2. Un marco de trabajo o Framework que lea los sensores y la información proporcionada por estos y sea capaz de comandar los motores o actuadores respondiendo a los valores del sistema que está ejecutando la simulación del conectoma 3. Un sistema que sea capaz de emular cada una de las neuronas individuales y sus conexiones.
Universidad Mariano Gálvez de Guatemala 23 Control robótico mediante simulación neuronal
Busbice integró solo la primera y segunda parte en el robot, realizando la última parte en una computadora aprovechando las capacidades de procesamiento de esta. En esta investigación se integran las tres partes en un solo sistema y en un hardware de prestaciones mucho más limitadas que una computadora.
3.2.1 Arduino nano La simulación del conectoma se ejecutará en una tarjeta de desarrollo arduino nano V3, el cual es una de las versiones más pequeñas de estas tarjetas de desarrollo, basado en un micro controlador ATmega328 de la empresa Atmel y cuenta con conexión a la computadora mediante un puerto USB Mini-B. Tiene la misma funcionalidad que un Arduino Duemilanove pero con un encapsulado diferente que permite ser colocado en una tarjeta de prototipos (protoboard)
Figura 14. Pinout de un arduino nano. Fuente: http://www.pighixxx.com
Universidad Mariano Gálvez de Guatemala 24 Control robótico mediante simulación neuronal
3.2.1.1 Características
Figura 15. Vista frontal y trasera de una tarjeta arduino nano.
Fuente: https://www.arduino.cc/en/Main/ArduinoBoardNano
En cuanto a las características principales del hardware de un arduino nano V3 tenemos: Micro controlador
ATmega328
Voltaje de alimentación
5 V
Voltaje de entrada
7-12 V
Pines de entrada y salida digitales 14 (6 pueden proporcionar salida pwm) Pines de entrada analógicos
8
Corriente máxima de pines de Entrada/salida
40 mA
Memoria flash
32 KB
SRAM
2 KB
EEPROM
1 KB (ATmega328)
Velocidad del reloj
16 MHz
Dimensiones
0.73" x 1.70"
Largo
45 mm
Ancho
18 mm
Peso
5 g
Universidad Mariano Gálvez de Guatemala 25 Control robótico mediante simulación neuronal
3.3.2 Sistema motor El C. elegans tiene 92 músculos, pero diseñar un sistema motor con esas características es complicado no solamente por la cantidad de actuadores necesarios sino que también la poca disponibilidad de actuadores que emulen el comportamiento de un músculo. Por ese motivo el sistema motor se emulará mediante un par de motores de corriente directa, los cuales serán comandados por el sistema de control, activándolos o desactivándolos y cambiando la velocidad de giro de acuerdo con los valores resultantes de la simulación neuronal.
Figura 16. Motor de corriente directa Fuente: http://www.pololu.com/
3.2.1.2 Driver de control de motores Los motores no pueden ser accionados directamente por el micro controlador, por lo que es necesario proveerlo de una etapa driver de potencia que los accione. Un Circuito integrado popular es el L293D fabricado por Texas Instrument, El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta 600 mA en cada circuito y una tensión entre 4,5 V a 36 V. Con este circuito integrado se puede realizar el manejo de
Universidad Mariano Gálvez de Guatemala 26 Control robótico mediante simulación neuronal
dos motores de manera bidireccional, con frenado rápido y con posibilidad de implementar fácilmente el control de velocidad, además de simplificar el circuito pues internamente incluye los diodos de protección
Figura 17. Conexión de un L293D para el control de dos motores de corriente continua Fuente: http://www.robotplatform.com/howto/L293/motor_driver_1.html
3.2.2 Sensores de entrada 3.2.2.1 Sensor ultrasónico Su función es determinar la distancia a la que se encuentran objetos que pueden ser obstáculos para el robot. Su funcionamiento se basa en la emisión de sonidos de alta frecuencia y el cálculo del tiempo necesario para escuchar el eco producido por los objetos sólidos, de manera parecida a la ecolocación de animales como los murciélagos. Se eligió para cumplir con este objetivo el sensor con la matrícula HC-SR04, que tiene la capacidad de detectar objetos en un rango de entre 2 a 450cm, incluyendo la electrónica necesaria de hacer la medición con tan solo proporcionar un pulso de arranque nos proporciona un pulso eléctrico digital
Universidad Mariano Gálvez de Guatemala 27 Control robótico mediante simulación neuronal
con una anchura o duración equivalente al tiempo que tarda el sonido en ir y regresar del objeto.
Figura 18. Sensor ultrasónico HC-SR04 Fuente: http://electronilab.co/tienda/sensorde-distancia-de-ultrasonido-hc-sr04/
3.2.2.2 Sensor de gas Genera una señal que puede ser analógica o digital y que responde a los niveles de varios tipos de gas presentes en el ambiente. El sensor utilizado es el sensor con la matrícula MQ-5 que según se pudo comprobar responde a: Alcohol, GLP (gas butano) y Thinner. El fabricante indica la capacidad del sensor de responder a la presencia de Gas natural y Gas propano. La salida analógica de este sensor proporciona una repuesta con Figura 19. Sensor de gas MQ-5 Fuente: distintos niveles que tensión que nos http://electronicastore.net/product indicará distintos niveles de gas según la o/sensor-de-gas-mq5-gas-lpconcentración de los mismos en el aire. butano-y-propano-compatible-con arduino/
Universidad Mariano Gálvez de Guatemala 28 Control robótico mediante simulación neuronal
3.2.2.3 Sensor PIR Un sensor PIR (Passive Infrared) es un sensor que responde al movimiento de objetos que emitan radiación infrarroja, es capaz de medir las variaciones de radiación infrarroja en un rango de hasta 7 metros de distancia y por medio de estas variaciones percibe el movimiento. La señal que entrega es es un pulso digital cada vez que se activa.
Figura 20. Sensor de movimiento (PIR) Fuente: http://chips.com.pk/product/pirsensor/
3.2.3 Estructura del robot La construcción de una correcta estructura para robótica suele presentar un desafío extra para quienes se ven en la necesidad de construirlos. Una buena estructura debe permitir que se coloquen todos los elementos del robot sin ningún esfuerzo. Existen varias empresas que proporcionan estructuras genéricas que pueden ser adaptadas a diversas necesidades en la construcción de prototipos de robots. Para el prototipo de nuestro robot se eligió una estructura de la empresa Tamiya, del tipo tanque que incluye el sistema de tracción en forma de “orugas” y dos motores de corriente directa con sus cajas de engranajes que permiten cambiar la relación entre ellos pudiendo fijarse en cualquiera de las
Universidad Mariano Gálvez de Guatemala 29 Control robótico mediante simulación neuronal
4 velocidades disponibles. Además su construcción es en plástico y su peso es muy bajo, una característica importante pues permitirá moverlo con motores más pequeños y con requerimientos energéticos también menores. Otra característica importante es que la base contiene una serie de agujeros que facilitan el agregado de los componentes que forman el robot.
Figura 21. Estructura tipo tanque de la empresa Tamiya Fuente: http://pololu.com
3.2.4 Alimentación Sin la alimentación respectiva el prototipo no podría funcionar, para nuestras necesidades de optó por alimentarlo con pilas comunes de 1.5 volts del tipo AA. Además se optó por separar la alimentación de la etapa de control lógica y la de control de los motores, esto con el fin de evitar los ruidos eléctricos causados por los motores, comunes en este tipo de montajes y que pueden llegar a causar comportamientos erráticos por parte de las etapas con micro controladores. Ambas fuentes están conformadas por 4 pilas para un total de 6 volts para cada fuente.
Universidad Mariano Gálvez de Guatemala 30 Control robótico mediante simulación neuronal
3.2.5 Firmware Un firmware es el programa que es capaz de manejar el hardware teniendo una interacción directa con los circuitos electrónicos, el firmware que controla el robot fue escrito usando el entorno de desarrollo integrado (IDE) de arduino que está basado en el IDE de nombre Processing. El IDE de arduino incluye un editor de texto que es capaz de compilar y cargar el archivo compilado al micro controlador. En cuanto al lenguaje de programación, está basado en el lenguaje de programación llamado Wiring, que es un lenguaje de alto nivel muy similar a C++ por lo que aquellas personas con conocimientos en lenguajes de este tipo no tendrán problemas o dificultades en el aprendizaje. Una de las características Figura 22. Vista del IDE de arduino versión importantes fue el cargador de 1.0.5 arranque (bootloader) que es el que permite la carga del código en la tarjeta arduino, código que es conocido como sketch. Mediante el IDE descrito se programó el firmware para el control de los motores que funcionaran de acuerdo al sistema neuronal simulado proporcionando el resultado del proceso de las señales de entrada proporcionadas por los sensores agregados en el hardware.
Universidad Mariano Gálvez de Guatemala 31 Control robótico mediante simulación neuronal
3.3 Construcción del prototipo 3.3.1 Sistema motor y alimentación El sistema de locomoción está formado por la estructura tamiya que incluye dos motores de corriente directa cada uno con una caja de engranajes que nos permite modificar la velocidad a la que se moverá la estructura, se eligió la más baja debido a que para la alimentación se eligió un conjunto de dos pack de pilas, que suman un total de 8 pilas AA. En la figura 23 se puede observar la forma en que quedan distribuidas en la base de la estructura.
Figura 23. Sistema motor del robot
3.3.2 Placa principal y driver de motores En la placa principal del robot se encuentra el arduino nano y el circuito de control de potencia de los motores que fue realizado con el L293D. Además cuenta con el agregado del sensor de ultrasonidos con el cual se detectará la presencia de obstáculos. En la figura 24 se observa una vista de la placa principal, la cual cuenta con pines de expansión donde se podrían agregar otro tipo de sensores para expandir su capacidad. También observamos el agregado de un disipador de calor de aluminio, bajo el cual se encuentra el
Universidad Mariano Gálvez de Guatemala 32 Control robótico mediante simulación neuronal
driver de motores, este agregado se hizo con el fin de disipar el calor generado por el circuito integrado que si bien no sobrepasaba los límites establecidos en su hoja de datos, permitirá que se prolongue la vida del componente al trabajar siempre a una temperatura mínima.
Figura 24. Placa principal del robot
3.3.3 Placa de sensores En la placa de sensores de encuentran los sensores de gas y PIR, con el fin de mantener el ancho y largo de la placa principal según el tamaño de la estructura Tamiya, se optó por separar esto sensores en una segunda placa que puede retirarse o incluso formar parte en otro proyecto que requiera este tipo se sensores.
Figura 25. Placa se sensores
Universidad Mariano Gálvez de Guatemala 33 Control robótico mediante simulación neuronal
3.4 Costos Cantidad Descripción
Precio unitario Total
1 1 1 1 1 1 2 2 1 1 1
Q100 Q50 Q200 Q10 Q90 Q7 Q5 Q5 Q55 Q40 Q100
Arduino nano Sensor ultrasónico Estructura tamiya L293D Sensor de gas Switch SPST Header hembra 40x1 Cables con conector 2 pines Placa de cobre de 6*8 pulgadas Sensor PIR Componentes varios*
Total
Q100 Q50 Q200 Q10 Q90 Q7 Q10 Q10 Q55 Q40 Q100
Q672
*tornillos, tuercas, leds, resistencias, estaño, impresiones, etc
4. Resultados En el firmware solo se encuentran definidos los pines de salida de control de los motores y las instrucciones de cambio de giro y velocidad. No existe una definición de comportamientos para el robot, la simulación del conectoma se encuentra definida en un arreglo en forma de matriz donde se almacenan los valores de cada neurona. Al momento de encender el robot, casi de inmediato se pone en movimiento, avanzando y retrocediendo de una forma que bien podría compararse con la del C. elegans en su medio ambiente, podría pensarse que es un comportamiento errático, sin embargo si se observa el suficiente tiempo se observa que logra un movimiento parecido al de exploración. Se logra reconocer que responde a los estímulos neuronales puesto que se conectó el sensor de ultrasonido de manera que una vez que detectara un obstáculo se
Universidad Mariano Gálvez de Guatemala 34 Control robótico mediante simulación neuronal
produjera un estímulo a las neuronas ubicadas en la nariz, esto provocó que el robot tuviera un súbito cambio de comportamiento alejándose del obstáculo poniendo sus motores en reversa, recordándonos lo siguiente: “The touch receptors C. elegans moves sinuously forward and backward when undisturbed. If the animal is touched gently with a fine hair near the head, it moves backward” (Chalfie, Sulston, White, Southgate, Thomson, & Brenner, 1985) En el caso del sensor de movimiento se programó el firmware de forma tal que estimulara las neuronas que conciernen a sensores químicos que intervienen en la búsqueda de comida, para lo cual se pudo observar un intento de buscar las fuentes de radiación infrarroja como las personas. El sensor de gas se usó para estimular las neuronas relacionadas a la detección de gases como el CO2 provocando que en la presencia de vapores de alcohol el robot reaccionara de forma que parecía alejarse el lugar.
Figura 26. Prototipo final
Universidad Mariano Gálvez de Guatemala 35 Control robótico mediante simulación neuronal
III. Conclusiones Es posible programar un software o firmware que ejecutándose en un micro controlador sea capaz de simular el comportamiento de una red neuronal basados en un mapa del conectoma de un organismo vivo aunque la programación debe de realizarse optimizando al máximo las capacidades del micro controlador tales como la memoria y la velocidad del mismo La red neuronal simulada del C. elegans genera comportamientos similares al organismo vivo, por lo que se pude estudiar su comportamiento al manipular sus conexiones, los estímulos que se le proporciona e incluso destruir secciones con el fin de observar cómo afecta los comportamiento del organismo simulado Un robot controlado por una red neuronal podría cumplir tareas complejas aprovechando las respuestas generadas al estimular las neuronas de áreas específicas, en un robot de rescate por ejemplo podría dotársele de sensores que estimulen neuronas relacionadas con la búsqueda de comida al percibir señales vitales de seres humanos por lo que el robot centraría su comportamiento en la búsqueda de sobre vivientes de alguna catástrofe pues sus redes neuronales responderían tal y como se comportarían en condiciones de búsqueda de alimento.
Universidad Mariano Gálvez de Guatemala 36 Control robótico mediante simulación neuronal
IV. Recomendaciones Estudiar el sistema neuronal del C. elegans para identificar las neuronas sensoriales para de esta manera estimularlas con otros tipos de sensores y observar el comportamiento que se obtiene Experimentar con otro tipo de estructuras móviles, considerando incluso el uso de una estructura segmentada para acercarse más al sistema motor del C. elegans verdadero. Aprovechar el puerto de comunicaciones serial del arduino para poder obtener los valores de los pesos neuronales del conectoma y observar en qué forma se propagan por el conectoma. El conectoma del C. elegans es el único que a la fecha está completo, pero existen mapeos parciales de insectos como la mosca de la fruta o de animales más grandes como ratones, estos mapeos parciales también podrían alimentar una simulación que podría controlar un robot. Arduino es una de muchas plataformas de hardware, existen otras que también podrían aprovecharse en proyectos con objetivos similares al presentado en este documento.
Universidad Mariano Gálvez de Guatemala 37 Control robótico mediante simulación neuronal
V.
Bibliografía
Boeree, G. (s.f.). Psicología Online. Recuperado el 25 de Octubre de 2016, de www.psicologia-online.com/ebooks/general/neuronas.htm Busbice, T. (2014). The Connectome Engine. Recuperado el 02 de Noviembre de 2016, de http://www.connectomeengine.com/ Chalfie, M., Sulston, J. E., White, J. G., Southgate, E., Thomson, N., & Brenner, S. (Abril de 1985). The Neural Circuit for Touch Sensitivity in Caenorhabditis elegans. The Journal of Neuroscience, 5(4), 956-964. Dodson, B. (3 de Enero de 2004). New Atlas. Recuperado el 1 de Noviembre de 2016, de http://newatlas.com/openworm-nematode-roundwormsimulation-artificial-life/30296/ Gusano.info. (s.f.). Recuperado el 31 de Octubre de 2016, de http://www.gusano.info/JOOMLA/index.php?option=com_content&vi ew=article&id=48&Itemid=28 Izaurieta, F., & Saavedra, C. (s.f.). Redes Neuronales Artificiales. Universidad de Concepción, Concepción, Chile, Chile. Mcculloch, W. S., & Pitts, W. (1943). A Logical Calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, 115-133. Nicolai, M. B., De Ambrosis, V., & Bizzozzero , M. (s.f.). HistologiaUB. Recuperado el 01 de Octubre de 2016, de http://histologiaub.blogspot.com/p/clasificacion.html NobelPrize.org. (s.f.). Recuperado el 15 de Septiembre de 2016, de http://www.nobelprize.org/nobel_prizes/medicine/laureates/1906/ind ex.html OpenWorm. (s.f.). Recuperado el 1 de Noviembre de 2016, de http://www.openworm.org/
Universidad Mariano Gรกlvez de Guatemala 38 Control robรณtico mediante simulaciรณn neuronal
Rosenblatt, F. (1958). The Perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65(6), 386408. WormClassroom. (s.f.). Recuperado el 32 de Octubre de 2016, de wormclassroom.org/short-history-c-elegansresearch#footnote1_qgchzo3
Universidad Mariano Gálvez de Guatemala 39 Control robótico mediante simulación neuronal
VI. Anexos A. Placas de circuito impreso Las placas de circuito impreso se fabricaron usando el método de transferencia por calor. El diseño se realizó usando el software PCBWizard según se observa a continuación: Vista “real World”
Vista “Atwork” que es la vista que se imprime para la transferencia a la placa de cobre virgen
Universidad Mariano Gálvez de Guatemala 40 Control robótico mediante simulación neuronal
B. Fotografías
Vista frontal de placa principal
Sensor de gas
Módulos del prototipo
Sensor PIR
C. Código fuente El código se encuentra disponible en el siguiente link: https://github.com/CariasSiniestro/Conecduino.git
Nombre de archivo: Proyecto final IA.docx Carpeta: /Users/jul/Library/Containers/com.microsoft.Word/Data/Documents Plantilla: /Users/jul/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Templates.localized/Normal.dotm Título: Control robótico mediante simulación neuronal Asunto: Autor: Usuario de Microsoft Office Palabras clave: Comentarios: Fecha de creación: 12/11/16 3:29 .11.P.11. Cambio número: 2 Guardado el: 12/11/16 3:29 .11.P.11. Guardado por: Usuario de Microsoft Office Tiempo de edición: 1 minuto Impreso el: 12/11/16 3:29 .11.P.11. Ultima impresión completa Número de páginas: 47 Número de palabras: 8,783 (aprox.) Número de caracteres:48,309 (aprox.)