BotXila by Oscar Sánchez Siordia.

Plataforma de Programación Visual para robots móviles controlados con FPGA's.
Botxila es un software cuyo proposito principal es el de ayudar a el usuario a programar un robot móvil para realizar táreas específicas sin que se requiera un conocimiento avanzado de robótica o de programación. El programa cuenta con visualizaciones virtuales en dos dimensiones del robot con los que el usuario puede intuitivamente conocer las capacidades y características del mismo. Convirtiendose además en un excelente método de enseñanza para materias básicas del área de ingeniería que incluyan sistemas digitales, microprocesadores, funciones lógicas, máquinas de estado, planificación de movimiento, etc...
Haga clic en los screenshots del programa para agrandar las imágenes...

Botxila permite al usuario generar mediante un ambiente visual (clics y drag & drop) un alogritmo completamente programable para un robot controlado por FPGA's. Mediante la creación de acciones, el usuario puede establecer una salida del sistema (movimiento de sus motores) para determinada entrada (sensores integrados en el robot), así por ejemplo: el usuario puede establecer que cuando un sensor específico este encendido, el robot deba hacer un giro en sentido de las manecillas del reloj por un determinado tiempo, o hasta que otra combinación de sensores se aplique.

Cada una se estas acciones esta agrupada en estados (de una máquina de estados), así permite que el usuario genere un algoritmo para realizar diversas táreas por ejemplo: un seguidor de líneas con bifurcaciones y discontinuidades.

Una vez que el usuario termina su algoritmo, BotXila es capáz de programar directamene el FPGA o la memoria Flash PROM, esto se realiza en forma background para evitar interacción del usuario y que tampoco sean necesarios conocimientos del area de FPGA's y su programación por lo que BotXila actua también como un layer amigable para el usuario.

Aplicaciones del BotXila.
La facilidad de uso y universalidad de BotXila para personas con poco o nulo conocimiento de las disciplinas de esta ciencia fue probada en el torneo de robótica que se llevó acabo en el marco de la Olimpiada Internacional de Informática (IOI 2006) realizada en Mérida, Yucatán en el que participaron estudiantes de 27 países.
Tareas programadas con BotXila.


El torneo de robótica constaba de dos fases:

En la primera el robot debía de seguir una línea blanca en fondo negro con ayuda de sus 3 sensores de piso siendo capáz de detectar las bifurcaciones de la pista y tomar las desiciones establecidas por el jurado para terminar el circuito lo más rápido posible y detenerse en la línea transversal final.

En la segunda fase, el robot ayudandose de sus senores laterales que eran capaces de detectar la distancia entre el robot y la pared, este debía de ser capaz de subir una píramide hasta detectar una línea blanca en el camino y convertirse nuevamente en un robot seguidor de líneas para terminar en la cima de la píramide. Nuevamente el robot que terminara la tarea en el menor tiempo posible sería el ganador.

Las dos táreas anteriores demuestran la versatilidad del programa y dan una idea de su infinidad de aplicaciones que a su vez dependen de las características fisicas del robot por lo que se hace necesario una plataforma de hardware pre-programada para traducir las funciones generadas en el lenguaje C++ por BotXila a partir de un algoritmo visual programado por el usuario final.

 

Recursos de BotXila.
Paper/Reporte:
Programa:
(3400 kB)