Skip to main content

Lección 3: Adición de comandos de transmisión para resolver el laberinto de la pared

Resolviendo el problema del laberinto de pared

Ahora que el VR Robot ha conducido hasta la letra ‘A’, así como hasta el número ‘2’ en el Maze Wall Playground, ¿cómo crearías un proyecto en el que el VR Robot conduzca hasta otras ubicaciones, como la letra ‘B’? Hasta ahora, hemos utilizado los datos del sensor de parachoques para ir a una pared y luego pasar a la siguiente pared. Para navegar hasta la letra "B", debemos poder mover el robot de realidad virtual a un punto en el medio de la superficie del laberinto, para que pueda tomar un camino diferente hacia nuestro destino.

Si el código solo contuviera los comandos drive y turn_for , el Robot VR podría quedar “atascado” en la sección número '2' del Laberinto de Pared, porque continuaría girando hacia la izquierda o la derecha sin retroceder nunca.Una vista de arriba hacia abajo del parque infantil Wall Maze con el robot VR colocado sobre el marcador 2. Está en ángulo hacia arriba y hacia la izquierda, aproximadamente de cara al marcador B.

En lugar de eso, podemos estimar la distancia desde la última pared que tocó el robot VR hasta donde necesita girar. Luego podemos usar comandos Drivetrain, como drive_for y turn_for, con los while bucles y los datos del sensor de parachoques en nuestro proyecto para resolver el laberinto.

  • Comience modificando su proyecto anterior, cree un nuevo proyecto o seleccione "Copiar" y pegue este código en VEXcode VR para que coincida con este proyecto base.

    def main():
    	while not left_bumper.pressed ():
    		drivetrain.drive (FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for (LEFT, 90, DEGREES)
    
    	while not left_bumper.pressed ():
    		drivetrain.drive (FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for (RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed ():
    		drivetrain.drive (FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for (LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed ():
    		drivetrain.drive (FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.stop()
  • El proyecto anterior comienza a conducir el Robot VR a la letra ‘B’, sin embargo, para que el Robot VR lo haga, primero tendría que retroceder y luego girar a la izquierda.Una vista de arriba hacia abajo del parque infantil Wall Maze con el robot VR colocado sobre el marcador 2. El robot VR se presiona contra y hacia la pared izquierda, con flechas verdes apuntando a la derecha y luego hacia abajo, mostrando el camino que deberá tomar.
  • Edite el código eliminando el comando stop y reemplazándolo con los comandos drive_for y turn_for
    • Podemos estimar que el robot VR necesita conducir en reversa durante aproximadamente 300 milímetros (mm). Primero, configure los parámetros del comando drive_for en “reverse” para 300 milímetros (mm).
    • Luego, configure los parámetros del comando turn_for para girar a la izquierda 90 grados. Tu proyecto ahora debería verse así:

      def main():
      	while not left_bumper.pressed ():
      		drivetrain.drive (FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for (LEFT, 90, DEGREES)
      
      	while not left_bumper.pressed ():
      		drivetrain.drive (FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for (RIGHT, 90, DEGREES)
      
      	while not left_bumper.pressed ():
      		drivetrain.drive (FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for (LEFT, 90, DEGREES)
      	
      	while not left_bumper.pressed ():
      		drivetrain.drive (FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.drive_for (REVERSE, 300, MM)
      	drivetrain.turn_for (LEFT, 90, DEGREES)
  • Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
  • La adición de estos comandos orientará al robot de realidad virtual en la dirección correcta para conducir la letra "B".A la izquierda, el proyecto de código Python que se mostró antes, terminando con el drivetrain.turn_for(IZQUIERDA, 90, GRADOS). A la derecha, una vista de arriba hacia abajo del patio de recreo del laberinto de la pared que muestra que el robot VR se ha movido de acuerdo con el nuevo código, colocado en el pasillo entre los marcadores A y 2 y ahora está frente a la pared inferior del patio de recreo.

     

  • Seleccione el botón "Restablecer" para restablecer el patio de recreo y mover el robot VR de nuevo a la posición inicial.
  • Ahora que el robot VR está orientado en la dirección correcta, agregue los siguientes comandos debajo del comando final turn_for para conducir el robot VR hasta la letra 'B' en el laberinto de pared patio de juegos. Asegúrese de que los comandos tengan la sangría correcta en su proyecto.

    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed ():
    		drivetrain.drive (FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for (RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.stop()
  • Inicie el Wall Maze Playground si aún no está abierto y ejecute el proyecto.
  • El robot VR ahora se dirigirá a la letra 'B' en el laberinto de pared patio de juegos.

    Una vista de arriba hacia abajo del patio de recreo del laberinto de la pared con el robot VR colocado sobre la letra B, en el centro de la pared izquierda del patio de recreo. Se presiona contra una pared, frente a la parte superior del patio de recreo.

Mini desafío

En este desafío, el robot VR debe navegar hasta el número '3' en el laberinto de pared Patio de juegos usando múltiples bucles mientras que , comandos de transmisión y el sensor de parachoques.

Una vista de arriba hacia abajo del parque infantil Wall Maze con el robot VR colocado sobre el número 3. El número 3 se encuentra en el cuadrante superior izquierdo del laberinto, por encima de B y a la derecha, dentro de una esquina creada por 3 paredes circundantes. El robot VR se presiona contra la pared debajo del marcador 3, frente a la parte inferior del patio de recreo.

Sigue estos pasos para completar el mini desafío:

  • Mire el video de la solución a continuación y revise cómo debe conducir el robot de realidad virtual para completar el mini desafío. En el videoclip a continuación, el robot VR comienza en la ubicación de inicio y sigue el mismo patrón de conducción hasta una pared hasta que se presiona el parachoques y luego se gira. El robot conduce el mismo camino para comenzar, que lo hizo para conducir hasta la letra B. En el punto de giro lejos de la pared, el robot gira a la derecha para continuar hasta el número 3. Desde ese punto, avanza y gira a la izquierda dos veces para rodear el siguiente conjunto de paredes, más allá de la letra B. Finalmente, el robot avanza y gira a la derecha dos veces para rodear las paredes finales y llegar al número 3.

  • Cree un proyecto agregando o quitando los comandos necesarios al proyecto Unit4Lesson3 para conducir el Robot VR hasta el número '3' en el Laberinto de pared Patio de juegos.
  • Inicie el proyecto para probar si funciona.
  • Si el proyecto no tiene éxito, edítelo e inténtelo de nuevo. Continúe este proceso hasta que se complete el desafío.
  • Una vez que el robot VR llegue con éxito al número ‘3’ en el Wall Maze Playground, guarde el proyecto.

¡Felicidades! ¡Has completado con éxito el desafío del laberinto de pared!

Preguntas

Seleccione un enlace a continuación para acceder al cuestionario de la lección.

Google Doc / .docx / .pdf