lunes, 19 de agosto de 2013

Suyay el robot universal – prueba de concepto

Suyay o “espera/dar esperanza” en quichua es el nombre del proyecto que quiero iniciar en esta entrada.  Suyay es un robot concebido para la iniciación en la programación y  la robótica en centros educativos, con el objetivo de brindar una herramienta base para el desarrollo de algoritmos de robots colaborativos, seguidores de línea, laberinto, y futbolistas.

Uno de los objetivos principales es diseñar a Suyay con sensores, motores, y circuitos integrados que se puedan conseguir en el país, o en el peor de los casos, se puedan pedir directamente desde China (desde DealExtreme, FocalPrice, IteadStudio, SeeedStudio, etc.), logrando una plataforma de bajo costo, y de software y hardware abierto.

El cerebro del robot será un Pingüino (plataforma similar al popular Arduino), ya que en Ecuador no se consigue fácilmente un microcontrolador AVR y lo más común en las tiendas de electrónica son los microcontroladores PIC de Microchip. La migración a Arduino no se descarta, pero la meta es lograr que el robot funcione netamente en librerías de Pingüino y luego en ensamblador o en C de Microchip pues en las universidades del país estos lenguajes son los más utilizados.


Figura 1.  Plataforma Pingüino (www.pinguino.cc)

El Pingüino será el controlador principal del robot, pero será una placa aparte, es decir, se requieren shields para configurarlo como:

·         Colaborativo.- o robot SWARM.  Será un shield con los sensores necesarios para la comunicación con una placa base, y con otros robots.
·         Laberinto.- Shield con sensores de distancia para utilizar a Suyay como un solucionador de laberintos.
·         Futbolista.- Shield con sensores de distancia, y de comunicación para utilizar a Suyay como un jugador de fútbol autónomo.
·         Seguidor de línea.- Shield con interruptores ópticos para sensar líneas.

Para esto se requerirá además de un Shield de motores, con encoders incrementales y circuitos de potencia requeridos.  Un diagrama básico del robot se muestra a continuación:


 Figura 2.  Esquema del robot universal

Para seleccionar adecuadamente las características de hardware requerida para cada shield, primero hice un pequeño estudio sobre el estado del arte de cada robot basado en competencias de la robo-copa (http://www.robocup.org/) y en el Concurso Ecuatoriano de Robótica (http://cer.org.ec/).

Robot colaborativo

Son robots básicos, de bajo costo y de inteligencia limitada (normalmente procesadores de 8 bits), los cuales se programan individualmente, y que en conjunto logran cumplir una tarea asignada. 


Los principales exponentes de estos robots son:

·         Kilobot de Hardvard http://www.eecs.harvard.edu/ssr/projects/progSA/kilobot.html
·         Swarm bot http://www.swarm-bots.org/
·         Formica http://warrantyvoidifremoved.com/formica
·         Jasmine http://swarmrobot.org/
Entre otros.

Características communes
·         Comunicación infrarroja con una base y otros robots
·         Motores de CC sin encoder


Robot laberinto

Robots que resuelven un laberinto de manera autónoma.  Son robots muy rápidos, y con inteligencia elevada (la mayoría utilizan procesadores de 32 bits con memorias para mapeo del laberinto).
No pude encontrar mayor información sobre exponentes de estos robots (la mayoría está en japonés), pero el que me va a servir como referencia es el Green Giant http://www.greenye.net/Micromouse/Micromouse2011-2012.htm


Características comunes:

·         Motores de CC con encoder
·         Sensores infrarrojos de distancia especiales (para detectar paredes, esquinas, etc)
·         No tienen comunicación con el computador



Seguidor de línea

Uno de los robots más conocidos y más fáciles de diseñar (en teoría), su objetivo es seguir la línea en un circuito y llegar a la meta.  Existen dos tipos, el normal y el velocista.


Figura 5.  Robot seguidor de línea http://brooksbots.com/FireBall.html

Características comunes:
·         Servomotores (normal), motor de CC (velocista), sin encoder
·         Interruptores infrarrojos para sensar la línea
·         No tienen comunicación con el computador



Robot futbolista

Uno de los robots más difíciles de diseñar (desde mi punto de vista).  Su objetivo es jugar un partido de fútbol de manera autónoma.  El partido se juega en equipos de 5 robots, los cuales reciben órdenes desde el computador para ejecutar movimientos, con retroalimentación mediante una cámara situada en la parte superior de la cancha.  Los robots futbolistas de categoría mundial son muy avanzados, utilizan procesadores de 32 bits, controladores de motores basados en FPGAs y sistemas de comunicación robustos.
Tampoco pude encontrar información detallada, pero en la página de la robocopa se puede descargar los diseños y funcionamiento de los equipos ganadores. http://robocupssl.cpe.ku.ac.th/teams:teams

Características comunes:

·         Motores brushless (alta velocidad, y alto torque) con encoder
·         Circuito de comunicación con el computador (inalámbrico, Zigbee, o radiocomunicación)
·         No requiere de comunicación directa con otros robots, el computador se encarga de correr el algoritmo requerido



Por lo tanto, el hardware que irá en Suyay será el siguiente:

·         Controlador para motores brushless con encoder incremental
·         Módulos de comunicación infrarroja (SWARM), e inalámbrica (soccer)
·         Interruptores infrarrojos para el seguidor de línea
·         Sensores de distancia (micromouse)

Es un proyecto muy ambicioso, pero pretendo alcanzar características mixtas entre los diferentes módulos, es decir, Suyay no será un robot de clase mundial para competencia, pero será una plataforma genérica para la programación básica de cada categoría.

En las próximas semanas haré algunos avances en el control de motores, y en los sensores utilizados para el primer prototipo.  Esperemos todo salga como espero, si tienen alguna sugerencia o si les gusta la idea pueden contactarme por este medio.

Hasta una próxima entrega, adiós.