Os presentamos a STARK, el robot de compañía diseñado para divertir entretener y enseñar nociones básicas de robótica.
Proyecto final robótica móvil, 3º de Ingeniería Electrónica, Industrial y Automática.
Pau Borreguero Mellado, Pablo Rubio Ros
Su diseño amigable realizado mediante impresión 3D y todas sus funciones le presentan como el compañero perfecto para pasar un buen rato en casa, controlándolo e interactuando con él mediante la aplicación móvil diseñada específicamente para este propósito, StarkApp.
Se facilita una presentación y el archivo .aia, generado para la aplicación en AppInventor:
Información aclaratoria adicional a la presentación:
- Explicación del código base del ESP32:
En el apartado del código hemos optado por una estructura modular, la cual esta formada por el bucle principal alojado en el archivo “Robot.ino”, un módulo auxiliar de control según el modo “Active_mode.h” y por 7 módulos de control donde se crearán funciones básicas que leerán los sensores o controlarán los actuadores. Por ejemplo, en el módulo “sensor_ultrasonidos.h” hemos definido la función “ leer_distancia_sensor()” la cual devuelve el valor medido por el sensor de ultrasonidos en milímetros. O la función “ posicion_Antena_1(grados)” la cual está ubicada en el módulo “motores.h”, a esta función le pasaremos directamente el ángulo al que queremos poner la antena 1 y esta se moverá.
El módulo “Robot.ino” es el bucle principal, encargado de inicializar todos los módulos y generar un loop infinito, en este bucle se gestionan los diferentes modos y se realizan los cambios entre ellos dependiendo de los Inputs correspondientes (Como puede ser un carácter leído por el “bluetooth” o una acción de cambio de modo derivado de pulsar los botones físicos)
Por último, tenemos el módulo “Active_mode.h”, el cual se definen todos los modos autónomos y el control de los actuadores a través del “modo manual” . Cada modo esta representado por una función, la cual depende de otras funciones auxiliares y las funciones de los módulos básicos, de esta forma el loop principal se encarga de ejecutar en cada ciclo la función correspondiente al modo actual, y la propia función ya se encarga de leer y controlar todos los periféricos.(Ej: Si activamos el modo seguilineas, se activara la función “seguirLinea()” y esta se encargara de leer los correspondientes sensores y controlar las ruedas al finalizar los cálculos de compensación).
- Explicación del modelado del diseño:
Para a construcción, primero realizamos un concept art para ver cómo se llegaría a ver nuestro robot, pero teniendo en cuenta mas o menos el tamaño de los elementos y donde irían alojados, para así conseguir un volumen y tamaño lo más próximo al robot final.
Una a vez finalizado, pasamos al modelado, para ello hemos usado el programa “SolidWorks”. Para la metodología del modelado, hemos empezado con la implementación de todos los elemento buscando los modelos 3d de las piezas comerciales, comprobando que las medidas de los modelos coinciden con las medidas de los elementos reales y diseñando aquellos elementos que no hemos conseguido el modelo.
Para el diseño de las piezas empezamos usando de referencia las medidas y el diseño del concep art y a partir de aquí realizamos todas las modificaciones para encajar los elementos. El diseño de cada pieza se realizará de forma individual y luego se realizará un ensamble para verificar que todas las piezas encajan entre si y no colisionan. La forma de cada pieza y de la unión con el resto esta condicionada por como se van a imprimir en 3d, ya que para una correcta impresión debemos tener una cara plana y tener en cuenta la dirección de las capas ya que el punto mas débil en una pieza impresa en 3d es la unión entre capas.
- Hardware empleado:
2x Motor de engranaje de CC de Metal, 1:90, 110RPM
8 Bit WS2811 5050 RGB Módulo LED 5V
JSN-SR20-Y1 Sensor ultrasonido
ESP32 + placa de expansión
Módulo de descarga batería 18650 o 21700
Controlador de Motor CC L298N
4x Sensor TOF0200C-VL53L0X
Módulo PCA9685 interfaz I2C (Control servos y PWM)
2x rodamientos antenas
2x Servos
Sensor infrarrojo
2x Botones táctiles