Este tutorial le ayudará a crear un robot basado en Arduino que puede solucionar laberintos de línea básica que no cuentan con circuitos cerrados.
Cómo funciona:
El robot está programado para conducir sobre las líneas negras del laberinto y utilizar sensores ópticos en la parte inferior del robot para seguir las líneas. Mientras que viaja a lo largo, el programa que estamos utilizando va a resolver el laberinto de la ruta más corta con un simple entender método llamado la "regla de la mano izquierda" o a veces llamado el método de "Mano izquierda en la pared".
El enfoque de la "Regla de la mano izquierda" es hacer su camino a través del laberinto, mientras que elige cómo convertir en intersecciones como sigue:
- Siempre girar a la izquierda si se puede
- Si usted no puede girar a la izquierda, seguir recto
- Si no puedes girar a la izquierda, o seguir recto, girar a la derecha
- Si no puede girar a la izquierda, seguir recto o girar a la derecha, dar la vuelta porque debe ser en un callejón sin salida
El método de resolver el laberinto de un camino más corto es hacer el seguimiento de los giros, y reduciendo la lista de giros como añadir la última vuelta a la lista de sustituciones conocidas. Las sustituciones son tres vuelta combinaciones donde eft (L), (R) ight o (S) rectos están en los extremos de un ack (B) como sigue:
- LBR = B
- LIBRAS = R
- LBL = S
- SBL = R
- SBS = B
- RBL = B
Por ejemplo, desde el punto de partida:
- Empezar a moverse
- (L) eft vuelta se hace en intersección encontrado
- Añadir "L" a la lista de
- Compruebe si pasado tres en la lista pueden ser acortado: NO, solamente un giro registrado.
- (B) ack en un callejón sin salida encontrado
- Añadir "B" a la lista de
- Compruebe si pasado tres en la lista pueden ser acortado: NO, sólo dos vueltas registradas.
- (L) eft vuelva cuando encuentre la intersección inicial en el que anteriormente dio vuelta izquierda
- Añadir "L" a la lista de
- Compruebe si pasado tres en la lista pueden ser acortado: sí.
- Reemplazar "LBL" con "S" rectos
- Continuar hasta encontrar el punto final.
El camino se acortó para que corra que el camino resuelto se transforma cuando vuelva a ejecutar el laberinto desde la posición inicial. Desde el principio, ahora conduce directamente a través de la intersección y evitar el callejón sin salida
Más sobre la teoría detrás de laberinto varios algoritmos de problemas se pueden encontrar aquí: https://en.wikipedia.org/wiki/Maze_solving_algorithm
Programa del robot se ejecutará nuestro código de ejemplo de un microcontrolador compatible con Arduino. Si no está familiarizado con Arduino, puede aprender todo acerca de él y descargar el software de programación www.arduino.cc.