Inicio » Aula » DYOR PRO Laser

DYOR PRO Laser

En esta entrada se enseñará a realizar el robot DYOR PRO Láser diseñado con TinkerCAD y fabricado mediante corte láser.

Componentes:

  • Piezas de Madera cortadas a láser (Marrón)
  • Perfboard (Verde Fuerte)
  • ESP WROOM 32 NodeMCU (Rojo)
  • PowerBank 5V 2600 mAh (Gris)
  • Portapilas (Azul oscuro)
  • Pila 9V
  • Cable USB-MicroUSB
  • Micro Servomotor SG90 (Cyan)
  • 2 Motores Smart Car (Amarillos)
  • 2 Ruedas para motores Smart Car
  • Rueda loca
  • Driver Dual DRV8833 (Verde claro)
  • Matriz Leds 8×8 max7219 (Negro)
  • 2 Leds rgb (Blanco)
  • Sensor Lidar VL53Lox (Magenta)
  • 6 Modulos TCRT5000 (Azul claro)
  • Cables dupont

Montaje:

Se deben cortar a laser las dos piezas de madera. Una vez obtenidas debemos incrustar el servomotor en el agujero rectangular de la base. El frontal del robot se pegara con silicona al servomotor vigilando no ensuciar los engranajes del servo.

A continuación montamos los 6 sensores TCRT5000 en la parte delantera de la base del robot. Cabe destacar que estos módulos están provistos de un potenciómetro que permite variar la sensibilidad del sensor. Es importante que todos estén configurados parecidos antes de realizar el montaje ya que una vez montados en el robot no es posible modificar el potenciómetro por lo que se conectaran a un microprocesador y se realizara una lectura del blanco y del negro a cada uno, modificando aquellos que se distancien de los otros. En la parte trasera de la base enganchamos los motores, cuyo eje debe coincidir perpendicularmente con el extremo del robot. Por ultimo colocamos la rueda loca detrás de los sensores TCRT5000.

En el extremo trasero en la parte superior se colocara el porta pilas. En nuestro caso al tener un interruptor en la parte trasera del portapilas lo colocaremos en vertical, permitiéndonos así cambiar la pila y poder utilizar el interruptor a nuestro antojo.

Finalmente podemos añadir todos la piezas que van en el frontal: la matriz led, los dos leds RGB y el sensor VLX53Lox. La powerbank se colocar en la parte de debajo como la perfboard. Finalmente colocaremos el modulo ESP32 detrás del frontal a un lado de forma apaisada para permitir el flujo del aire por el chip cuando el robot se encuentre en movimiento.

La perfboard conectara todos los potenciales de alimentación y masas juntos. La única alimentación distinta será la del driver de los motores, que se conectara directamente a los 9V proporcionados por la pila. El modelo completo del robot se puede analizar detenidamente en Tinkercad.

Aqui se puede comprobar las diferencias entre el modelo real y este esquema de tinkercad en AR:

Funcionalidades:

El robot es capaz de realizar dos aplicaciones de forma autónoma. Por otra parte se ha diseñado una aplicación para el ecosistema Apple mediante el entorno de desarrollo profesional Xcode con el lenguaje Swift. Se ha utilizado el framework SwiftUI que proporciona Apple para realizar las interfaces graficas. La aplicación utilizara tanto BLE como WiFi para poder comunicarse con el microprocesador.

SigueLineas:

Gracias a llevar 6 sensores TCRT5000, el robot podrá seguir una línea negra sobre un fondo blanco a gran velocidad. El programa obtendrá los valores analógicos de los sensores y calculara un error ponderando cada sensor. Con este error realizará un control mediante un PD con el fin de poder seguir la línea con buena precisión y alta velocidad. Se han realizado varias pruebas en distintos circuitos y se ha llegado a la conclusión de que los parámetros óptimos para este control son una ganancia de 0.04 y una ganancia derivativa de 0.0004. Aun así, la aplicación permitirá cambiar tanto estos valores como el de la velocidad de referencia para poder adaptarse a cualquier circuito.

EsquivaObstaculos:

El robot lleva un sensor lidar VL53L0x que le permite detectar la distancia a un obstáculo sin incertidumbre angular. La parte frontal del robot se puede mover gracias a un servomotor, permitiéndonos hacer un barrido con el laser para analizar que camino esta más despejado. Con esta información el robot puede deambular por una habitación esquivando los obstáculos existentes.

Este algoritmo se basa en mover el robot hacia delante hasta que detecta un obstáculo a menos de 400 mm. En ese momento, el robot se para y realiza medidas entre -45º y 45º. Si encuentra un camino despejado va hacia él, sino se mueve un poco hacia delante en la dirección de mayor distancia. Si en tres interacciones (y antes de colisionar) no encuentra un camino despejado se mueve hacia atrás, rota sobre si mismo y vuelve por donde había venido.

Del mismo modo que en la anterior aplicación, mediante la app móvil se puede modificar la velocidad y la distancia a la que detecta el objecto.

Aplicación Móvil:

La aplicación móvil permite controlar el robot mediante peticiones http. Cuando se inicia la aplicación se debe pulsar sobre Config. Esto nos llevara a una nueva vista que se conectara con el robot mediante BLE.

En esa vista debemos introducir un SSID y la contraseña de nuestro WiFi. Pulsamos el boton de envio y debemos esperar 10 segundos mientras el robot se conecta. A continuación, debemos pulsar sobre recibir para poder obtener la IP de nuestro robot. Si la configuración se realiza con éxito y el dispositivo tiene la IP correcta de nuestro robot se cambiara a la siguiente vista, donde se podrán modificar los parámetros de las aplicaciones autónomas.

Podemos volver a la primera vista mediante el botón verde de configuración realizada. Aquí se puede activar el modo siguelineas y esquivaobstaculos. Mientras este activo no se podrá utilizar ningún otro apartado de la aplicación para no interferir con el robot, por ese motivo se volverán rojos el resto de botones.

El robot se puede controlar tanto por el joystick como inclinando el dispositivo. Para alternar entre estos dos modos solo es necesario pulsar el botón Control por Giroscopio que bloqueara el joystick.

También se pueden controlar los colores de los dos ojos de forma independiente. En la aplicación hay dos selectores de colores que permiten enviar al robot el color deseado:

Gracias a tener el sensor laser en el frontal que se puede mover mediante el servomotor podemos realizar un barrido y crear un histograma para analizar las distancias que existen entre el robot y los obstáculos que se encuentren en frente.

La siguiente imagen muestra un ejemplo con un obstáculo a la izquierda del robot y nada a su derecha:

El deslizador de abajo a la izquierda nos permite controlar el servomotor pudiendo mover la cabeza del robot a nuestro gusto. Por otro lado el botón verde de Lectura distancia realiza un simple lectura con el sensor laser y la escribe en el texto de debajo en unidades de mm.

Por ultimo podemos controlar la matriz led. Hay dos símbolos predefinidos, la flecha a izquierda que al pulsar aparece y el rayo que se mueve de arriba a abajo:

Rayo

Por otro lado el botón mensaje abre una hoja que nos permite introducir el mensaje que queremos mostrar, la dirección lateral de scroll que queremos y la velocidad a la que queremos que se mueva:

Finalmente podemos crear nuestros propios símbolos personalizados al pulsar el botón símbolo. Deberemos seleccionar los leds que queremos encender, el tipo de efecto y la velocidad a la que queremos que ocurra:

Video de la matriz led