Inicio » Aula » GatoBús (ROBOT DYOR)

GatoBús (ROBOT DYOR)

Robot DYOR «GatoBús»

Proyecto realizado por José Gutiérrez

Este proyecto hecho para la asignatura de Robótica Móbil de la Universidad Politécnica de Valencia está basado en el robot DYOR, que tiene dos ruedas controladas por motores y una rueda loca. Por otro lado, el diseño de un gato-bús está inspirado en el gatobús que aparece en la película «Mi vecino Totoro». A parte del modelo base, el robot incluye diversas características para asemejarse más a lo que podría hacer un gatobús, como mover las patas delanteras o la cola y poner dos canciones. Como funciones autónomas tiene seguir pared derecha/izquierda o esquivar obstáculos.

LISTA DE COMPONENTES

  • Arduino Nano + Shield Arduino Nano I/O
  • Powerbank 1200mAh USB
  • 3 Sensores Ultrasonidos HC-SR04
  • Módulo Siguelíneas TCRT5000
  • 3 Servos SG90
  • 2 Servos FS90R
  • 2 Ruedas FS90R
  • Cable mini-usb
  • 20 Cables DuPont Hembra-Hembra H-H 20cm
  • Rueda loca
  • SPP-C Bluetooth (compatible HC-06)
  • Zumbador
  • Resistencia de 220 Ohmios
  • Madera cortada a láser para la base, lados y techo
  • Impresión 3D para la cara, patas y cola
  • GESO y spray de pintura para pintar la madera

DISEÑO

Diseño de las partes del robot

Diseño en TinkerCad de las partes del robot.

Las partes hechas en madera con corte láser fueron la base y las paredes. Tanto las piezas de madera como de impresión 3D fueron impresas en la UPV. Aquí se puede ver la base de madera antes de ser pintada:

Como se puede observar, la base tiene dos soportes para sujetar los motores FS90R. Cabe destacar que para los soportes no se calculó bien las dimensiones y no cabían, pero con un trabajo de lijado finalmente entraron. Después tenemos las paredes:

En la imagen de arriba se observan los agujeron cuadrados que representarían las ventanas del autobús, agujeros para los sensores ultrasonidos de los laterales y un agujero en la cara frontal, para pasar el cableado del ultrasonidos de la cara del GatoBús. Además se puede ver la pieza de madera pensada al principio del diseño para soportar al sensor infrarojos. En la siguiente imagen se puede ver las partes impresas en 3D y las de corte láser pintadas con GESSO para el robot:

Luego en esta imagen tenemos las piezas después de ser pintadas con spray:

Para pintar las piezas me ayudó el técnico de laboratorio Pedro Ayala. Él me recomendó usar imprimación para las piezas de madera, pero a la tienda que fuí no les quedaba y me dieron GESSO,  y luego él se encargó de pintar las piezas con spray debido a que yo no tenía un lugar para hacerlo.

PROGRAMACIÓN

Primero de todo se diseñó la aplicación que se usaría para controlar al robot. Para diseñarla, se usó la página de MIT App Inventor, y abajo podemos ver la interfaz que aparecería en la pantalla del teléfono. Las flechas utilizadas par mover el robot no se ven muy bien en la imagen pero cuando la usabas para controlar el robot se veían perfectamente.

Luego, la programación de bloques de la aplicación se desarrolló enviando texto al arduino, en mi caso fue más sencillo y ordenado que enviar bytes con números. Abajo se puede ver la programación de los botones y que se activaba/desactivaba al presionar cada uno.

Luego el código del arduino se puede descargar aquí.  Por otro lado, para el código del zumbador se recurrió a buscar por internet la «traducción» de las canciones deseadas, y luego se programó dos maneras para hacerlas sonar bien. Todo lo restante es relativamente claro en el código.

MONTAJE

Para la parte de montaje se fue probando como el código hacía funcionar cada uno de los componentes electrónicos y cómo detectaba los comandos que le llegaban del canal serie conectado al módulo SPP-C Bluetooth. Para simular las patas y la cola se usaron servos SG90 y se les pegaron las piezas impresas en 3D. Estas piezas no se pegaron directamente al servo, sino que se usó como pieza intermedia las palas de plástico que venían con los servos. Para las ruedas se usaron dos servos FS90R para las ruedas delanteras y una rueda loca en la parte central trasera como punto de apoyo para la estructura y ayudar en los giros. Por último se usaron 3 sensores ultrasonidos HC-SR04: uno actuaba como los «ojos» del GatoBús y luego los otros dos se encuentran en las paredes para detectar obstáculos/paredes. Para hacer sonar las canciones se ha usado un zumbador, el cuál necesitaba una resistencia para poder utilizarse, en este caso se usó una de 220 Ohmios (100 Ohmios era el mínimo).

Como problemas a destacar, se encontraron bastantes problemas debido a qué al poner el mismo valor para controlar la velocidad de los Servos FS90R, en la realidad no giraban a la misma velocidad, por lo que se tuvó que hacer muchas pruebas para ajustar los valores para resultados correctos. Siguiendo con los problemas, para las canciones se intentó usar un Módulo reproductor de música UART, pero daba demasiados problemas debido a que usaba el canal serie, pero este canal estaba ocupado por el módulo bluetooth que conectaba el GatoBús con la aplicación, por lo que se cambió a usar un zumbador, que igualmente pude reproducir canciones con más trabajo de programación.

Como muestra de las comprobaciones, en este vídeo se pude ver la comprobación del código de los sensores de ultrasonidos. En él se nos muestra como el sensor ultrasonidos detecta un objeto y que distancia hay a él. Las ruedas se paran si el ultrasonidos detecta algo a menos de 30 centímetros, giran a una cierta velocidad si detecta algo entre 30 y 50 cm y giran a toda velocidad si no detecta nada a menos de 50 cm.

Al comprobar que todo funcionaba por separado, se procedió a comprobar si funcionaría con el robot montado. Primero se pusieron las ruedas  y después de ajustar sus valores, al ver que todo fuera correctamente se pegó primero la cara al GatoBús para comprobar si detectaba paredes y se movía bien. Después se pegaron las patas delanteras y la cola para asegurar que todo funcionara y que los rangos de movilidad de las extremidades eran correctos.  En la siguiente foto se ve este paso del montaje.


El siguiente paso fue conectar todos los dispositvos, poner los ultrasonidos en los laterales de las paredes y ver su disposición dentro del robot, como se pude ver en la imagen de debajo.

En la imagen se puede ver que está conectado un sensor infrarojos, que a la hora de hacer las debidas comprobaciones daba valores muy extraños, por ejemplo el negro nunca se mantenía en el mismo rango de valores manteniendolo a la misma distancia y al mismo objeto negro todas las veces, por lo que se optó por descartar la función de seguilíneas.

FUNCIONES

El resultado final del robot GatoBús es el que se puede ver en las imágenes de abajo:

Las funciones que puede hacer el GatoBús son:

  • Manual
  • Evita Obstáculos
  • Seguir pared de la Derecha
  • Seguir pared de la Izquierda

Lo que hace cada función será detallado en sus correspondientes apartados.

Función Manual

Dentro de la función manual se puden apretar los botones de la interfaz, que incluyen las funciones:

  • Moverse hacia delante
  • Moverse hacia atrás
  • Girar hacia la derecha
  • Girar hacia la izquierda
  • Mover la pata izquierda
  • Mover la pata derecha
  • Mover la cola
  • Poner la canción de «Gato tocando el piano»
  • Poner la canción de «Mi vecino Totoro»

Y aquí un video demostrativo:

Función Evita Obstáculos

Dentro de la función automática evita obstáculos, en la cuál el GatoBús se aleja de todo los obstáculo que detecta. Además se puede ver como mueve la cola a un lado al girar, como se observa en el vídeo.

Función Seguir Pared Derecha

Dentro de la función automática Seguir Pared Derecha, en la cuál el GatoBús sigue la pared de la derecha, girando cuando le toca para no chocar. Además, se puede ver como mueve la cola cuando decide ir hacia delante, como se ve en el vídeo.

Función Seguir Pared Izquierda

Dentro de la función automática Seguir Pared Izquierda, en la cuál el GatoBús sigue la pared de la izquierda, girando cuando le toca para no chocar. Además, se puede ver como mueve la cola cuando decide ir hacia delante, como se puede ver en el vídeo.