Tabla de contenido:
- Paso 1: Base del robot
- Paso 2: parte superior de la base
- Paso 3: Sensores infrarrojos y ultrasónicos
- Paso 4: Cables
- Paso 5: Paso final en la construcción del robot: decoración
- Paso 6: pseudocódigo para el programa
- Paso 7: Programa
- Paso 8: Bloques de programa
- Paso 9: CONSTRUYE un LABERINTO
Video: Robot LEGO conduce a través de un laberinto: 9 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Este es un robot simple y autónomo diseñado para conducir a través de un laberinto hasta una salida. Está construido con LEGO Mindstorms EV3. El software EV3 se ejecuta en una computadora y genera un programa, que luego se descarga a un microcontrolador llamado Bloque EV3. El método de programación está basado en iconos y de alto nivel. Es muy fácil y versátil.
PARTES
- Conjunto LEGO Mindstorms EV3
- Sensor ultrasónico LEGO Mindstorms EV3. No está incluido en el conjunto EV3.
- Cartón ondulado para el laberinto. Dos cajas deberían ser suficientes.
- Un pequeño trozo de cartón fino para ayudar a estabilizar algunas esquinas y paredes.
- Pega y pega con cinta adhesiva para unir las piezas de cartón.
- Un sobre rojo de tarjetas de felicitación para identificar la salida del laberinto.
INSTRUMENTOS
- Navaja para cortar el cartón.
- Regla de acero para facilitar el proceso de corte.
MÉTODO PARA RESOLVER LABERINTO
Hay varios métodos para navegar por un laberinto. Si estás interesado en estudiarlos, están muy bien descritos en el siguiente artículo de Wikipedia:
Elegí la regla del seguidor de la pared de la izquierda. La idea es que el robot mantenga una pared en su lado izquierdo tomando las siguientes decisiones a medida que avanza por el laberinto:
- Si es posible girar a la izquierda, hágalo.
- De lo contrario, siga recto si es posible.
- Si no puede ir a la izquierda o en línea recta, gire a la derecha, si es posible.
- Si nada de lo anterior es posible, este debe ser un callejón sin salida. Giro de vuelta.
Una advertencia es que el método podría fallar si el laberinto tiene un bucle. Dependiendo de la ubicación del bucle, el robot podría seguir dando vueltas y vueltas alrededor del bucle. Una posible solución para este problema sería que el robot cambiara a la regla de seguidor de pared de la derecha si se diera cuenta de que iba en bucle. No incluí este refinamiento en mi proyecto.
PASOS PARA CONSTRUIR EL ROBOT
Aunque LEGO Mindstorms EV3 es muy versátil, no permite más de uno de cada tipo de sensor conectado a un ladrillo. Se podían conectar en cadena dos o más ladrillos, pero no quería comprar otro ladrillo, por lo que utilicé los siguientes sensores (en lugar de tres sensores ultrasónicos): sensor de infrarrojos, sensor de color y sensor ultrasónico. Esto funcionó bien. Los pares de fotos a continuación muestran cómo construir el robot. La primera foto de cada par muestra las partes necesarias y la segunda foto muestra las mismas partes conectadas entre sí.
Paso 1: Base del robot
El primer paso es construir la base del robot, utilizando las piezas que se muestran. La base del robot se muestra al revés. La pequeña parte en forma de L en la parte posterior del robot es un soporte para la espalda. Se desliza mientras el robot se mueve. Esto funciona bien. El kit EV3 no tiene una pieza de tipo bola rodante.
Paso 2: parte superior de la base
Los siguientes 3 pasos son para la parte superior de la base del robot, el sensor de color y los cables, que son cables de 10 pulgadas (26 cm)
Paso 3: Sensores infrarrojos y ultrasónicos
A continuación, están el sensor de infrarrojos (en el lado izquierdo del robot) y el sensor ultrasónico (a la derecha). Además, los 4 pines para colocar el ladrillo en la parte superior.
Los sensores infrarrojos y ultrasónicos están ubicados verticalmente en lugar de la horizontal normal. Esto proporciona una mejor identificación de las esquinas o extremos de las paredes.
Paso 4: Cables
Coloque el Brick y conecte los cables de la siguiente manera:
- Puerto B: motor grande izquierdo.
- Puerto C: motor grande derecho.
- Puerto 2: sensor ultrasónico.
- Puerto 3: sensor de color.
- Puerto 4: sensor de infrarrojos.
Paso 5: Paso final en la construcción del robot: decoración
Las alas y las aletas son solo para decoración.
Paso 6: pseudocódigo para el programa
- Espere 3 segundos y diga "Adelante".
- Inicie el movimiento del robot en línea recta.
- Si es posible girar a la izquierda (es decir, si el sensor de infrarrojos no detecta un objeto cercano), diga "Izquierda" y vaya a la izquierda.
- Avanza unos 15 cm (6 pulgadas) para evitar un giro a la izquierda en falso. La razón es que después de que el robot haya girado, el sensor vería el gran espacio del que acababa de salir y el robot pensaría que debería girar a la izquierda, lo cual no es lo correcto. Regrese al paso 2.
- Si no es posible girar a la izquierda, compruebe lo que ve el sensor de color delante del robot.
- Si no hay color (es decir, ningún objeto), vuelva al paso 2.
- Si el color es rojo, esta es la salida. Detenga el robot, toque una fanfarria y detenga el programa.
-
Si el color es marrón (es decir, cartón marrón adelante), detenga el robot.
- Si es posible girar a la derecha (es decir, si el sensor ultrasónico no detecta un objeto cercano), diga "Derecha" y vaya a la derecha. Vuelve al paso 2.
- Si no es posible girar a la derecha, diga "Uh-oh", retroceda unas 5 pulgadas (12,5 cm) y gire. Regrese al paso 2.
Paso 7: Programa
LEGO Mindstorms EV3 tiene un método de programación basado en iconos muy conveniente. Los bloques se muestran en la parte inferior de la pantalla de visualización de la computadora y se pueden arrastrar y soltar en la ventana de programación para crear un programa. La captura de pantalla muestra el programa de este proyecto. Los bloques se describen en el siguiente paso.
No pude averiguar cómo configurar la descarga del programa para ustedes, por lo que los Bloques se describen en el siguiente paso. Cada bloque tiene opciones y parámetros. Es muy fácil y versátil. No debería llevarle mucho tiempo desarrollar el programa y / o cambiarlo para que se adapte a sus necesidades. Como siempre, es una buena idea guardar el programa periódicamente al desarrollarlo.
El Bloque EV3 se puede conectar a la computadora mediante un cable USB, Wi-Fi o Bluetooth. Cuando está conectado y encendido, esto se indica en una pequeña ventana en la esquina inferior derecha de la ventana de EV3 en la computadora. El "EV3" en el lado más a la derecha se vuelve rojo. Cuando esta pantalla está configurada en Vista de puerto, muestra en tiempo real lo que detecta cada sensor. Esto es útil para experimentar.
Al construir este programa, sugeriría trabajar de izquierda a derecha y de arriba a abajo, y ampliar los bloques de bucle y conmutador antes de arrastrar otros bloques al interior. Me encontré con problemas complicados al intentar insertar bloques adicionales en el interior antes de ampliar.
Paso 8: Bloques de programa
- Comenzando en el lado izquierdo del programa, el Bloque de inicio está presente automáticamente cuando se está desarrollando un programa.
- A continuación se encuentra un Bloque de Espera, que nos da 3 segundos para colocar el robot en la entrada del laberinto, luego de iniciar el programa.
- Un bloque de sonido hace que el robot diga "Adelante".
- Un bloque de bucle contiene la mayor parte del programa. La pantalla debe alejarse 4 o 5 veces y este bloque de bucle debe agrandarse casi hasta el borde derecho del lienzo de programación antes de comenzar a insertar bloques. Se puede hacer más pequeño después.
- El primer bloque dentro del bucle es un bloque de dirección de movimiento con la dirección en cero y la potencia en 20. Esto hace que los motores funcionen en línea recta a baja velocidad. Una velocidad más rápida haría que el robot se moviera demasiado cuando sigue adelante mientras habla en los pasos siguientes.
- Un bloque de interruptores en el modo de proximidad del sensor de infrarrojos comprueba si hay algún objeto a más de un valor de 30. Esto equivale a aproximadamente 9 pulgadas (23 cm) para cartón marrón. Si el valor es mayor que 30, entonces se ejecutan los Bloques 7, 8 y 9, de lo contrario el programa pasa al Bloque 10 a continuación.
- Un bloque de sonido hace que el robot diga "Izquierda".
- Un bloque de dirección de movimiento con la dirección en -45, la potencia en 20, las rotaciones en 1.26 y el freno al final en verdadero. Esto hace que el robot gire a la izquierda.
- Un bloque de dirección de movimiento con la dirección en cero, la potencia en 20, las rotaciones en 1,2 y el freno al final en verdadero. Esto hace que el robot avance unos 15 cm (6 pulgadas) para evitar un giro a la izquierda en falso.
- Un bloque de interruptores en el modo de color de medición del sensor de color comprueba qué color está por delante del robot. Si no hay color (es decir, ningún objeto), el programa llega al final del ciclo. Si el color es rojo, se ejecutan los bloques 11, 12 y 13. Si el color es marrón, el programa pasa al bloque 14 a continuación.
- Mover el bloque de dirección en modo apagado para detener los motores.
- Un bloque de sonido toca una fanfarria.
- Un bloque de interrupción de bucle sale del bucle.
- Un bloque de dirección de movimiento en modo apagado para detener los motores.
- Un bloque de interruptores en el modo de pulgadas de distancia de comparación del sensor ultrasónico verifica si hay algún objeto a más de 20 cm (8 pulgadas). Si mide más de 8 pulgadas, entonces se ejecutan los Bloques 16 y 17; de lo contrario, el programa pasa al Bloque 18 a continuación.
- Un bloque de sonido hace que el robot diga "Correcto".
- Un bloque de dirección de movimiento con la dirección en -55, la potencia en -20, las rotaciones en 1.1 y el freno al final en verdadero. Esto hace que el robot gire a la derecha.
- Un bloque de sonido hace que el robot diga "Uh-oh".
- Un bloque de tanque de movimiento con la potencia a la izquierda configurada en -20, la potencia derecha configurada en -20, las rotaciones configuradas en 1 y el freno al final configurado en verdadero. Esto hace que el robot retroceda unas 5 pulgadas (12,5 cm) para dejar espacio para dar la vuelta.
- Un bloque de tanque de movimiento con la potencia a la izquierda configurada en -20, la potencia derecha configurada en 20, las rotaciones configuradas en 1,14 y el freno al final configurado en verdadero. Esto hace que el robot se dé la vuelta.
- A la salida del bucle hay un bloque de programa de parada.
Paso 9: CONSTRUYE un LABERINTO
Dos cajas de cartón ondulado deberían ser suficientes para el laberinto. Hice las paredes del laberinto de 5 pulgadas (12,5 cm) de alto, pero 4 pulgadas (10 cm) deberían funcionar igual de bien si no tienes cartón corrugado.
Primero, corto alrededor de las paredes de las cajas, a 10 pulgadas (25 cm) de la parte inferior. Luego corté alrededor de las paredes a 5 pulgadas de la parte inferior. Esto proporciona varias paredes de 5 pulgadas. Además, corté alrededor de la parte inferior de las cajas, dejando aproximadamente 1 pulgada (2,5 cm) adheridas a las paredes para mayor estabilidad.
Las diversas piezas se pueden cortar y pegar o pegar con cinta adhesiva donde sea necesario para formar el laberinto. Debe haber un espacio de 12 pulgadas (30 cm) entre las paredes en cualquier camino con un callejón sin salida. Esta distancia es necesaria para que el robot se dé la vuelta.
Es posible que algunas de las esquinas del laberinto deban reforzarse. Además, es necesario evitar que algunas paredes rectas se doblen si incluyen una esquina de cartón enderezada. Se deben pegar pequeños trozos de cartón delgado en la parte inferior en esos lugares, como se muestra.
La salida tiene una barrera roja que consta de medio sobre rojo para tarjetas de felicitación y una base hecha de 2 piezas de cartón delgado, como se muestra.
Una advertencia es que el laberinto no debe ser grande. Si los giros del robot están en un ligero ángulo con respecto al correcto, las discrepancias se acumulan después de algunos giros. Por ejemplo, si un giro a la izquierda está a 3 grados de distancia, luego de 5 giros a la izquierda, el robot se está apagando 15 grados. Un laberinto grande tendría más vueltas y un camino más largo que uno pequeño, y el robot podría chocar contra las paredes. Tuve que jugar varias veces con la configuración de Rotaciones de los giros para poder conducir con éxito incluso el pequeño laberinto que hice.
MEJORAS FUTURAS
Un proyecto de continuación obvio es hacer que el robot pueda determinar una ruta directa a través del laberinto mientras lo navega, y luego conducir esta ruta directa (evitando los callejones sin salida) inmediatamente después.
Esto es mucho más complicado que el proyecto actual. El robot debe recordar la ruta que ha recorrido, eliminar los callejones sin salida, almacenar la nueva ruta y luego seguir la nueva ruta. Planeo trabajar en este proyecto en un futuro próximo. Espero que sea posible lograrlo con LEGO Mindstorms EV3 utilizando Array Operations Blocks y algunos Bloques relacionados con las matemáticas.
OBSERVACIÓN FINAL
Este fue un proyecto divertido. Espero que también os resulte interesante.
Recomendado:
Control de Led a través de la aplicación Blynk usando Nodemcu a través de Internet: 5 pasos
Control de LED a través de la aplicación Blynk usando Nodemcu a través de Internet: Hola a todos, hoy le mostraremos cómo puede controlar un LED con un teléfono inteligente a través de Internet
Inclinar laberinto LEGO con Micro: bit: 9 pasos
Inclinar el laberinto de LEGO con Micro: bit: No es ningún secreto que LEGO es increíble, y no hay nada que nos guste más que agregar algunos componentes electrónicos divertidos a nuestros kits de LEGO para hacerlos aún más increíbles. Nuestro laberinto LEGO tiene perillas en dos de los lados para permitirle inclinar la mitad superior y maniobrar una pelota
Controle los dispositivos a través de Internet a través del navegador. (IoT): 6 pasos
Controle los dispositivos a través de Internet a través del navegador. (IoT): En este Instructable, le mostraré cómo puede controlar dispositivos como LED, relés, motores, etc. a través de Internet a través del navegador web. Y puede acceder a los controles de forma segura en cualquier dispositivo. La plataforma web que utilicé aquí es la visita de RemoteMe.org
Pike: ¡conduce de forma más segura, conduce de forma más inteligente, conduce un lucio !: 5 pasos
Pike - ¡Conduce de forma más segura, conduce de forma más inteligente, conduce un lucio !: ¡Bienvenido a mi proyecto llamado Pike! Este es un proyecto que forma parte de mi educación. Soy un estudiante NMCT en Howest en Bélgica. El objetivo era hacer algo inteligente usando una Raspberry Pi. Teníamos total libertad en la que queríamos ser inteligentes. Para mí era
Hacer un robot corredor del laberinto: 3 pasos (con imágenes)
Haz un robot corredor del laberinto: los robots para resolver laberintos se originaron en la década de 1970. Desde entonces, el IEEE ha estado llevando a cabo competencias de resolución de laberintos llamadas Concurso de Micro Mouse. El objetivo del concurso es diseñar un robot que encuentre el punto medio de un laberinto lo más rápido posible. La A