Dudas sobre el movimiento del robot

Dudas sobre el movimiento del robot

de Silvina Gabriela Oldak Glejberman -
Número de respuestas: 2

Buenas! En el grupo 1 tenemos un problema con el movimiento del robot. 

Por ahora se mueve siguiendo solo la pared izquierda. La idea es que luego de un rato siga la pared derecha y que vaya intercambiando entre un lado y el otro cada determinado tiempo. Hemos estado probando pero no logramos entender de qué forma podemos asignarle un tiempo a cada "modo" ni cómo cambiar entre uno y otro.

Además, otro problema que estamos teniendo es que si el robot se aleja de todas las paredes (no encuentra ninguna pared dentro de la distancia que le dijimos) comienza a girar en círculos sin parar dada una condición que le pusimos para que funcione el seguimiento de la pared. 

Podrías ayudarnos con ambos problemas?

Gracias!

En respuesta a Silvina Gabriela Oldak Glejberman

Re: Dudas sobre el movimiento del robot

de Federico Andrade -

Hola Silvina,

Sobre la primer pregunta, deberían tener una variable de estado, y que ese estado que pueda tomar diversos valores (0, 1, 2, ...) donde 0 siginifica seguir izq, 1 seguir derecha, etc.. Además en el loop principal digamos van a tener algún if (estado == SEGUIR_IZQ) van a hacer lo que corresponde, elif (estado == SEGUIR_DER) ... y así.

Dentro de cada estado podrìan inicializar una variable de tiempo, que cuando sobrepase un tiempo determinado se cambian de estado.  Pueden buscar "cómo contar tiempo en python"

Para la segunda parte de la pregunta, deberían tener algún otro estado en el cual si el robot se da cuenta de que no está cerca de ninguna pared, que siga derecho (hasta que eventualmente se acerque a una pared y se cambie a estado seguir pared).


De alguna manera tendrian que modelar el comportamiento que quieren con una pequeña máquina de estados (en un papel) para luego que lo tiene claro, implementarlo (lo ideal sería usando switch case) con una variable de estados y alguna secuencia de if.


Tal vez algún compañero les pueda dar otro punto de vista también.

Saludos,