RattusBot Rioplatensis
Supervisor(es): Barboni, Leonardo
Resumen:
El presente documento explica el conjunto de actividades realizadas y resultados obtenidos al concluir el proyecto de fin de carrera. El mismo tuvo como objetivo la construcción de una plataforma robótica, para ser usada como herramienta de investigación por los neurocientíficos que estudian los patrones de disparos de redes neuronales, presentes en la corteza entorrinal. Estas redes son responsables de construir mapas cognitivos del ambiente (i.e. representación o codificación del entorno), los cuales se usan como entradas a otras capas neuronales que implementan la acción de navegación de algunos individuos biológicos (e.g. humanos, ratas). A la fecha, existe gran inter es cient co por entender los mecanismos por los cuales estas redes implementan, no solo el procesamiento de información de navegación, sino también el aprendizaje de reglas y creación de sistemas de referencias para tomar decisiones de movimiento en ambientes novedosos. Estos estudios se abordan modelando las redes como sistemas dinámicos acoplados, descritos con ecuaciones diferenciales. De este modo, fue un neurocientífico que está realizado estudios de doctorado en esta área, junto al grupo de microelectrónica del IIE quien proporcionó los modelos matemáticos discretos de las neuronas llamadas grid cells y place cells (las cuales componen parte de la corteza entorrinal). Estos serán implementados en una plataforma robótica prototipo, la cual debía ser desarrollada y evaluada, para determinar si era adecuada para el estudio de estas redes, motivando de este modo la realizacion del proyecto de fin de carrera. Para desarrollar del robot prototipo, se estudió cómo implementar los algoritmos propuestos en la plataforma Arduino (e.g. escalado de constantes de las ecuaciones), as como las necesidades de señales de entrada requeridas del ambiente y cómo obtener las salidas de patrones de disparo que los algoritmos podrán generar, los cuales serán los estudiados por los neurocientíficos. La plataforma robótica se implementó entonces con dos placas de desarrollo Arduino Due que incorporan un microprocesador Atmel SAM3X8E ARM Cortex- M3. Además, la configuración morfológica final del robot prototipo consiste en: 1. Dos ruedas motorizadas con encoders. 2. Una tercera de apoyo, libre. 3. Cuatro optoacopladores. 4. Una cámara con su correspondiente interfaz de comunicación. 5. Cuatro sensores de choque. 6. Piezas mecánicas de ajuste así como otros circuitos electrónicos secundarios que se describirán en el documento. Los modelos matemáticos en tiempo discreto de las redes neuronales implementadas, reciben como estímulo de entrada la posición absoluta (x; y) del robot. Esta posición absoluta se estima mediante una técnica de odometría . La misma consiste en estimar el desplazamiento del robot a partir de información de giro de las ruedas. De esta manera, para evaluar la utilidad de esta plataforma robótica, a la hora de estudiar la dinámica de las redes neuronales, se buscó reproducir los experimentos que los neurocientíficos realizan. Estos consisten, en hacer recorrer el robot una arena de espacio acotado, como lo hace en la realidad una rata de laboratorio (en nuestro caso un area de 2 2 m con un sistema de coordenadas cartesiano (x; y) a intervalos de 1 cm). El seguimiento de la posición del robot se realiza mediante odometría y se adquieren los patrones de disparo que salen de las redes neuronales implementadas para cada posición (x; y) mediante un bus SPI. Como resultado de dicha evaluación, se encontraron varios problemas, entre los cuales el dominante es la limitante en el tiempo de ejecución de los algoritmos. La discretización de las ecuaciones diferenciales que modelan las neuronas se resolvió utilizando el método de Euler, con pasos de 1 ms. Por esta razón todas las operaciones que comprenden el cómputo de las grid cells y la comunicación hacia afuera de los spikes, deben realizarse en ese intervalo de tiempo.Teniendo en cuenta esta limitación, para cada posición (x; y) se consigui o implementar patrones de disparos de una red con un máximo de 200 neuronas. El cual se envía al exterior por medio del bus SPI, en menos de 1 ms, La cantidad final de neuronas implementadas, fue lograda gracias a un proceso de optimización que buscaba minimizar el tiempo de ejecución de los cálculos correspondientes a la implementación de los algoritmos que modelan las grid cells. Como se mencion o anteriormente, el robot prototipo tiene dos placas modelo Arduino Due. Una se encarga de las funciones de navegaci on junto a todos los sensores y actuadores incluidos en la plataforma. Es la encargada de implementar las rutinas que mueven al robot en la arena, y a su vez realiza el seguimiento de la posición del mismo mediante una técnica de odometría. Dicha información es luego enviada a la otra placa Arduino Due quien implementa los algoritmos de redes neuronales. El robot desarrollado implementa los modelos propuestos dentro de las limitaciones del hardware seleccionado, tanto para la odometría, como para el la implementación de los algoritmos de redes neuronales. Se realizaron pruebas de las diferentes partes que componen a la plataforma completa, para verificar su correcto funcionamiento. También se realizaron pruebas de validación sobre los algoritmos implementados durante las distintas etapas de optimización. Finalmente, se verificó que el disparo de las células correspondiera a las zonas adecuadas del espacio, para algunas de estas grid cells, probando la generación de mapas cognitivos del ambiente en términos de patrones de disparos de las redes. Como trabajos futuros, se sugiere profundizar en la optimización de tiempos de las operaciones que implementan los algoritmos neuronales. También se proponen ideas para mejorar el sistema de seguimiento espacial.Por ejemplo, se pueden incorporar marcadores externos para corregir errores de estimación de la posicion absoluta. De este modo se lograría aumentar la vida útil del algoritmo de seguimiento y de la corrida experimental (la vida útil se define en términos de cotas máximas aceptables, para el crecimiento de error en la estimación de la posición por acumulación de errores durante los movimientos). También se pueden añadir dispositivos que integren encoders en cuadratura u otra clase de motores y engranajes de reducción de velocidad.
2015 | |
Plataforma robótica Redes neuronales Ingeniería biomédica Robótica Ecuaciones diferenciales Modelos matemáticos |
|
Español | |
Universidad de la República | |
COLIBRI | |
http://hdl.handle.net/20.500.12008/5223 | |
Acceso abierto | |
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0) |
Sumario: | El presente documento explica el conjunto de actividades realizadas y resultados obtenidos al concluir el proyecto de fin de carrera. El mismo tuvo como objetivo la construcción de una plataforma robótica, para ser usada como herramienta de investigación por los neurocientíficos que estudian los patrones de disparos de redes neuronales, presentes en la corteza entorrinal. Estas redes son responsables de construir mapas cognitivos del ambiente (i.e. representación o codificación del entorno), los cuales se usan como entradas a otras capas neuronales que implementan la acción de navegación de algunos individuos biológicos (e.g. humanos, ratas). A la fecha, existe gran inter es cient co por entender los mecanismos por los cuales estas redes implementan, no solo el procesamiento de información de navegación, sino también el aprendizaje de reglas y creación de sistemas de referencias para tomar decisiones de movimiento en ambientes novedosos. Estos estudios se abordan modelando las redes como sistemas dinámicos acoplados, descritos con ecuaciones diferenciales. De este modo, fue un neurocientífico que está realizado estudios de doctorado en esta área, junto al grupo de microelectrónica del IIE quien proporcionó los modelos matemáticos discretos de las neuronas llamadas grid cells y place cells (las cuales componen parte de la corteza entorrinal). Estos serán implementados en una plataforma robótica prototipo, la cual debía ser desarrollada y evaluada, para determinar si era adecuada para el estudio de estas redes, motivando de este modo la realizacion del proyecto de fin de carrera. Para desarrollar del robot prototipo, se estudió cómo implementar los algoritmos propuestos en la plataforma Arduino (e.g. escalado de constantes de las ecuaciones), as como las necesidades de señales de entrada requeridas del ambiente y cómo obtener las salidas de patrones de disparo que los algoritmos podrán generar, los cuales serán los estudiados por los neurocientíficos. La plataforma robótica se implementó entonces con dos placas de desarrollo Arduino Due que incorporan un microprocesador Atmel SAM3X8E ARM Cortex- M3. Además, la configuración morfológica final del robot prototipo consiste en: 1. Dos ruedas motorizadas con encoders. 2. Una tercera de apoyo, libre. 3. Cuatro optoacopladores. 4. Una cámara con su correspondiente interfaz de comunicación. 5. Cuatro sensores de choque. 6. Piezas mecánicas de ajuste así como otros circuitos electrónicos secundarios que se describirán en el documento. Los modelos matemáticos en tiempo discreto de las redes neuronales implementadas, reciben como estímulo de entrada la posición absoluta (x; y) del robot. Esta posición absoluta se estima mediante una técnica de odometría . La misma consiste en estimar el desplazamiento del robot a partir de información de giro de las ruedas. De esta manera, para evaluar la utilidad de esta plataforma robótica, a la hora de estudiar la dinámica de las redes neuronales, se buscó reproducir los experimentos que los neurocientíficos realizan. Estos consisten, en hacer recorrer el robot una arena de espacio acotado, como lo hace en la realidad una rata de laboratorio (en nuestro caso un area de 2 2 m con un sistema de coordenadas cartesiano (x; y) a intervalos de 1 cm). El seguimiento de la posición del robot se realiza mediante odometría y se adquieren los patrones de disparo que salen de las redes neuronales implementadas para cada posición (x; y) mediante un bus SPI. Como resultado de dicha evaluación, se encontraron varios problemas, entre los cuales el dominante es la limitante en el tiempo de ejecución de los algoritmos. La discretización de las ecuaciones diferenciales que modelan las neuronas se resolvió utilizando el método de Euler, con pasos de 1 ms. Por esta razón todas las operaciones que comprenden el cómputo de las grid cells y la comunicación hacia afuera de los spikes, deben realizarse en ese intervalo de tiempo.Teniendo en cuenta esta limitación, para cada posición (x; y) se consigui o implementar patrones de disparos de una red con un máximo de 200 neuronas. El cual se envía al exterior por medio del bus SPI, en menos de 1 ms, La cantidad final de neuronas implementadas, fue lograda gracias a un proceso de optimización que buscaba minimizar el tiempo de ejecución de los cálculos correspondientes a la implementación de los algoritmos que modelan las grid cells. Como se mencion o anteriormente, el robot prototipo tiene dos placas modelo Arduino Due. Una se encarga de las funciones de navegaci on junto a todos los sensores y actuadores incluidos en la plataforma. Es la encargada de implementar las rutinas que mueven al robot en la arena, y a su vez realiza el seguimiento de la posición del mismo mediante una técnica de odometría. Dicha información es luego enviada a la otra placa Arduino Due quien implementa los algoritmos de redes neuronales. El robot desarrollado implementa los modelos propuestos dentro de las limitaciones del hardware seleccionado, tanto para la odometría, como para el la implementación de los algoritmos de redes neuronales. Se realizaron pruebas de las diferentes partes que componen a la plataforma completa, para verificar su correcto funcionamiento. También se realizaron pruebas de validación sobre los algoritmos implementados durante las distintas etapas de optimización. Finalmente, se verificó que el disparo de las células correspondiera a las zonas adecuadas del espacio, para algunas de estas grid cells, probando la generación de mapas cognitivos del ambiente en términos de patrones de disparos de las redes. Como trabajos futuros, se sugiere profundizar en la optimización de tiempos de las operaciones que implementan los algoritmos neuronales. También se proponen ideas para mejorar el sistema de seguimiento espacial.Por ejemplo, se pueden incorporar marcadores externos para corregir errores de estimación de la posicion absoluta. De este modo se lograría aumentar la vida útil del algoritmo de seguimiento y de la corrida experimental (la vida útil se define en términos de cotas máximas aceptables, para el crecimiento de error en la estimación de la posición por acumulación de errores durante los movimientos). También se pueden añadir dispositivos que integren encoders en cuadratura u otra clase de motores y engranajes de reducción de velocidad. |
---|