Para implementar este tipo comportamiento vamos a utilizar un autómata de estado finito que se compone de los siguientes estados: Avanza, Retrocede, Gira.
A continuación exponemos un diagrama que indica como se procederá para pasar de un estado a otro:

A continuación os pongo algunos datos que me parecen interesantes:
*La distancia máxima que vamos a permitir al robot acercarse a un objeto que tenemos delante será de 350. De esta forma nos aseguramos que el robot no se chocará con ningún obstáculo, y en el caso de quererlo llevar al mundo real, el hardware del robot no sufriría daños físicos.
*Hacemos distinción del lado del cual el robot recibe información de que hay un obtáculo.
Si el obstáculo está en el lado izquierdo giramos al lado derecho y si el obstáculo está en el lado derecho giraremos a la izquierda. Así evitamos que nos quedemos encerrados en rincones y optimizamos el movimiento del robot.
*Hemos hecho un programa modularizado de forma que el código pueda ser reutilizable y sea más sencillo de entender.
A continuación mostramos un video con el funcionamiento de nuestro choca-gira:
Si no puedes ver el video pincha en este enlace

No hay comentarios:
Publicar un comentario