Golfus Hispánicus

Robot Golfus Hispanicus, equipo Eurogolfus. Cuarto puesto Eurobot 2006  

                                       


Golfus Hispanicus es esencialmente un sistema móvil de localización, selección, recolección y distribución de objetos, basado en un sistema de visión artificial. En este caso ha sido programado y preparado mecánicamente para la participación en el campeonato de robótica Eurobot 2006. Golfus Hispanicus esta constituido por tres partes: Mecánica, electrónica y programación, dedicándose, principalmente, cada uno de los componentes del equipo a una de las secciones. El proyecto inicial contemplaba solo las necesidades requeridas para desarrollar la actividad del concurso, pero poco a poco se le fueron añadiendo nuevos componentes y nuevos retos a fin de utilizar este proyecto no solo para la participación en dicho concurso, si no también ponernos a nosotros mismos nuevas metas, obligándonos a  nuevas investigaciones y rediseños de la idea inicial. Así por ejemplo: se separó físicamente la electrónica de sensores y potencia del hardware controlador, lo cual permite la conexión del hardware a elementos de gran consumo y potencia sin afectarlo. También se decidió el implementar una segunda cámara, lo cual obligó a un rediseño del sistema mecánico.


              


El material utilizado en la construcción del chasis es el metacrilato. Se eligió desde un principio este material por varios motivos como son la rigidez, transparencia y la facilidad de trabajo. En la construcción del chasis se ha utilizado planchas de 3 y 2mm de grosor según la resistencia requerida en cada parte del chasis. Todo el conjunto ha sido diseñado, cortado y ensamblado de forma artesanal usando, entre otras, herramientas de corte tipo “Dremel”. Las uniones entre las distintas planchas de metacrilato se han realizado con escuadras metálicas o pegamento de contacto, según necesidad del diseño. En el apartado de la mecánica se ha utilizado también el mismo material excepto en los tubos de PVC para el bombo contenedor y canalización de la pelota.


         


La estructura esta formada por cuatro pisos sujetados con tornillos separadores, los cuales dan consistencia al conjunto a la vez que facilitan su separación, al ser este un proyecto de investigación sujeto a continuas modificaciones y ajustes. En el primer piso se encuentra el mecanismo de tracción, las baterías y las canalizaciones de entrada y salida de bolas, en el segundo piso esta situado el bombo contenedor con el motor de giro y el sistema de compuertas, en el tercer piso esta el motor succionador y la electrónica de control de motores y sensores, acabando la torre con la ITX, verdadero cerebro de Golfus Hispanicus. El sistema motriz consta de dos motores con reductora alimentados con 10V, que dan en vacío una velocidad de 175rpm y un par de 7.5kg. Estos motores   mueven un sistema de orugas. En un principio barajamos la posibilidad de poner ruedas lo suficientemente anchas como para evitar que se introdujeran en los propios agujeros de la pista pero finalmente nos decidimos por las orugas. 


              

El sistema del bombo contenedor, es bastante complejo pues puede realizar  todas las tareas de recoger pelotas por aspiración, almacenar hasta 8 pelotas, clasificadas según color y depositar a voluntad la pelota necesaria en el agujero. El bombo lleva incorporado entre otros dispositivos los siguientes: Un aspirador portátil de coche, reformado, alimentado a 12V y con un consumo de 2A. Una compuerta giratoria, gobernadas mediante servo, que se puede adoptar tres posiciones, apertura succión, apertura deposición y cierre. Un motor, con una reductora de fabricación propia, para el giro del bombo y un sistema de encoders para conocer la posición exacta de los tubos del mismo. Resaltar que en gran parte de la construcción del robot se han utilizado materiales reciclados de muy diversas procedencias.


                                                      


Para la electrónica, debido al carácter experimental del proyecto, nos decidimos por un sistema modular, separando físicamente cada una de las partes que componen las diferentes etapas de la electrónica. Todas la placas van montadas sobre una placa matriz, que hace las veces de bus, interconectando unas con otras, Alimentación, Control, Potencia y Sensores.


       


Alimentación: 
Esta placa toma la tensión de una de las baterías de 12V 2.3Ah. y la transforma mediante estabilizadores 780X en las tensiones necesarias para alimentar los diferentes circuitos y componentes. De esta placa salen tres tipos de alimentación. Alimentación para la electrónica digital, alimentación para los motores de bajo consumo (servos y bombo) y alimentación para los motores de potencia (tracción y succión).
Control: En esta placa va montado un microcontrolador el PIC 16f876, encargado de controlar los motores, de la recepción y transmisión de los datos suministrados por los sensores y de las subrutinas de succión y deposición de bolas, ordenadas desde la ITX. Además lleva incorporadas dos entradas y una salida para comunicación con el resto del sistema de control, mediante opto acopladores (los cuales no están en esta placa). Como se explico anteriormente, este fue uno de los retos que nos planteamos al realizar este proyecto: Separar físicamente la parte de potencia de la de toma de decisiones, pero conectados para la transmisión de datos. Esto ha supuesto el desarrollo de un protocolo de comunicaciones específico para el proyecto. Se ha intentado sacar el máximo provecho del microcontrolador, así por ejemplo, si bien no se usan todas, esta preparado para controlar cuatro servomotores, tres motores DC en un sentido de giro, dos motores de tracción de doble sentido de giro. Además en la parte correspondiente a sensores controla seis bumpers, tres sensores IR de reflexión, tres sensores de corte de luz y dos sensores de distancia GP2DXX. Esto, además de los tres pins de comunicación.
Potencia: Esta etapa esta dividida en dos partes, una placa soporta las conexiones para los servomotores y motores de bajo consumo, mientras que la segunda placa lleva el motor de succión mediante un TIP110 y los dos motores de tracción controlados a través del integrado L298N.
Sensores: Debido al gran numero de sensores, este apartado esta repartido en tres placas. Una de ellas soporta los seis sensores de contacto o bumpers, la segunda lleva las conexiones para soportar otros seis sensores, tres de los cuales van conectados directamente a ella, los sensores IR de reflexión CNY70 y de los otros tres, los de corte de luz, solo recibe la señal desde una tercera placa, en la que esta montados los circuitos necesarios para ese sistema de sensores, además esta tercera placa lleva implementada la entrada de datos y la alimentación de los GP2D. Además, en las dos placas primeras, todos los sensores pueden intercambiar su posición, facilitando así las modificaciones. 

                                                               

El sistema de visión artificial es propio, basado en una placa de PC tipo MiniITX con dos cámaras estándar USB, el programa de gestión donde se ha cargado previamente la estrategia a usar decide el siguiente paso a seguir (buscar bola blanca, negra, agujeros, etc...) por lo que captura una imagen de la cámara frontal y la escanea en busca del objeto deseado, caso de localizarlo va indicando al sistema motriz la dirección a la vez que va graduando la velocidad en función de los nuevos escaneos de imagen, caso de no localizar dicho objeto entramos en una rutina automática de giros y pequeños desplazamientos hasta localizar el objeto deseado. El escaneo de imágenes se hace por barrido integral de las mismas buscando el color del objeto deseado, para ello también se han habilitado en el programa una configuración de “tolerancias” dado que el color de los objetos varia de tonalidad en función de las condiciones lumínicas, estos parámetros de tolerancia de color conviene que sean calibrados antes de cada partida, ajustándose así al momento específico de cada competición. El hecho de que las paredes de la pista de competición sean blancas, añade una dificultad adicional a la búsqueda de bolas del mismo color por lo que también hemos implementado un filtrado en función de la forma y las medidas relativas de la silueta encontrada. Hasta aquí hemos hablado de la cámara frontal, la cámara trasera es fija y apunta directamente hacia abajo en la parte trasera del robot justo a la salida del canal destinado a depositar las bolas en los agujeros, el cometido de esta cámara no es mas que suplir una zona no cubierta con la cámara principal y que nos permitirá una mayor exactitud a la hora de situar el robot.