Tecnología Industrial I.E.S. Pintor Antonio López |
Solución del "Callejón sin salida" en el modo MAZE, laberinto Posted: 23 Feb 2021 01:33 AM PST Hola a tod@s. En este tema vamos a ver una posible solución al problema del callejón sin salida cuando nuestro coche robot está intentando salir de un laberinto. Hemos llamado callejón sin salida a una situación en la que el coche robot encuentra una pared de frente (ultrasonido detecta algo a menos de 20cm) y al mirar a los lados las dos paredes, derecha e izquierda, están también a menos de 20cm. En ese caso el planteamiento ha sido hacer retroceder al coche para salir del callejón parando cada cierta distancia para ver si ya hay salida hacia alguno de los lados. Para poder programarlo primero he creado una función que realiza toda la acción de obtener la distancia de las paredes a la izquierda y a la derecha "comparar_distancias". Esta función empieza conectando el servo (en mi caso el componente servomotor se llama así en la programación "servo" y está conectado al pin 2 de arduino), mirando hacia los lados y guardando el valor en las respectivas variables para finalmente desconectar el servo. Trabajar con esta funciona simplificará bastante la programación después: Una vez el coche sale del callejón y alguno de los dos valores dist_der y dist_izq es > = que 20 el programa continua con la programación clásica del modo MAZE, laberinto, en el que comprobamos que lado tiene un valor mayor para que el coche gire en esa dirección. Como siempre en programación, existen más formas de programar la solución al callejón sin salida incluso los bloques del ejemplo son adaptables y mejorables. Os animo a probar vuestras propias ideas. Un saludo, Raúl. |
You are subscribed to email updates from Tecnología I.E.S. Pintor Antonio López. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No hay comentarios:
Publicar un comentario