miércoles, 7 de mayo de 2008

De recuerdos, vehículos autónomos y algoritmos genéticos

Buceando en el arcón de los recuerdos, encuentro un CD con una copia de mi trabajo final de Ingeniería de la Universidad Nacional de La Plata titulado “Construcción, Control y Optimización de la Navegación de un Vehículo Autónomo”. La nostalgia del hallazgo (archivado desde Y2K) me llevó a revisar el CD, sorprendiéndome por material que no recordaba tener. Encontré un pequeño Web Site que describe las características del Robot construído, así como también una presentación general del proyecto.

También encontré que la biblioteca de la Facultad de Ingeniería de la Universidad Nacional de La Plata publicó en su Web Site la disponibilidad de la carpeta del Trabajo Final.

Este fue un proyecto que me dio muchas satisfacciones (¡entre ellas la de recibirme!), por lo que sentí ganas de recordarlo subiendo el Web Site a este Blog, compartiendo el contenido del proyecto, y hasta contando la razón del particular nombre de este Robot “Fatto in Casa”.

El Trabajo se desarrolló en cuatro partes. La Primera Parte consistió en la construcción del vehículo autónomo, cubriendo todas las características del mismo desde le punto de vista mecánico y electrónico.


El Robot, de nombre Quiróptero, estaba compuesto por una plataforma móvil con tracción diferencial. Las ruedas eran controladas por 2 motores de corriente continua de 12V con caja reductora acoplada a su eje.
Cada rueda poseía un encoder óptico incremental que permitía la estimación de la posición del Robot en tiempo real.
Para el reconocimiento del entorno utilicé un sensor de ultrasonido del tipo Polaroid montado sobre un motor por pasos, el cual permitía hacer un barrido de todo el horizonte con el objetivo de obtener un mapa de obstáculos mediante la medición de las distancias a los mismos, utilizando la técnica de tiempo de vuelo.

El control del Robot se dividía en dos niveles: las tareas de bajo nivel eran llevadas a cabo por una placa Microcontroladora montada en la plataforma, y el control de alto nivel, consistente en un algoritmo de navegación, era ejecutado por una PC. La conexión entre la placa Microcontroladora y la PC se lograba a través de un enlace del tipo RS-232. La placa montada en el Robot se basada en el Microcontrolador 8051.

La Segunda Parte consistió en el desarrollo del control de la navegación del Robot. La estrategia de navegación implementada permitía, utilizando la información proveniente del sonar, construir un mapa de obstáculos en tiempo real, calcular el rumbo a tomar por el robot, y navegar entre los obstáculos – estimando la posición del mismo por dead reckoning – hasta alcanzar el objetivo.
El método de navegación implementado fue el del Campo de Fuerza Virtual desarrollado por Borenstein J.


En la Tercera Parte el objetivo fue la Optimización de la Navegación del Robot. Para eso trabajé con técnicas basadas en Algoritmos Genéticos, principalmente debido a la complejidad de modelización de la planta a optimizar.
Esta es una gran ventaja de los Algoritmos Genéticos, ya que no necesitan mayor información sobre la planta que se encuentran optimizando, sino que lo único que persiguen es maximizar (o minimizar) una determinada función (llamada de Fitness) mediante la selección, cruce y mutación de los individuos de la población que resulten mas aptos para tal fin.

Por último, la Cuarta Parte del trabajo fue dedicado a la presentación de los resultados obtenidos y las conclusiones.

¿Por qué el nombre Quiróptero?

La razón por la cual eligí el nombre Quiróptero para el Robot, se debe al método que éste utilizaba para ubicar los obstáculos de su entorno.


Todos los micromurciélagos poseen un mecanismo que les permite volar y, en el caso de las especies insectívoras, también les permite localizar a sus presas sin necesidad de usar el sentido de la vista o del olfato: es la ecolocación. Ésta consiste en la emisión de sonidos de alta frecuencia (ultrasonidos), que después de chocar con los objetos, se reflejan a modo de eco y son captados por las orejas del murciélago. Al igual que el sonar, este sistema los capacita para conocer la posición, la distancia relativa e incluso el tipo de objetos que hay a su alrededor. El murciélago, de esta manera, puede volar en total oscuridad, y podría afirmarse que es capaz de ver acústicamente. Las señales emitidas tienen una frecuencia y una modulación características en cada especie. Los pulsos de sonido son generados en la laringe del animal y, según la especie, son emitidos por la boca o por los orificios nasales.

Clasificación científica: los murciélagos constituyen el orden de los Quirópteros. Los megamurciélagos pertenecen al suborden de los Megaquirópteros y los micromurciélagos al suborden de los Microquirópteros.