Skip to main content

Lección 3: Conducir hasta el número ‘31’

¡En esta lección, el robot VR conducirá hasta el número ‘31‘ y luego volverá al número ‘1‘ en el patio de recreo del mapa de cuadrícula numérica!

Una vista de arriba hacia abajo del patio de recreo del Mapa de cuadrícula numérica, con el número 31 resaltado por un cuadro rojo. El robot VR comienza en el número 1, y el número 31 cuadrado está tres espacios por encima de él.

Tenga en cuenta que el robot VR viajará a lo largo del eje Y para moverse al número ‘31‘ en el patio de recreo del mapa de cuadrícula numérica.

Una vista de arriba hacia abajo del patio de recreo del Mapa de cuadrícula numérica, con el espacio número 31 resaltado por un recuadro negro. Una línea indica las mediciones a través del eje Y, con el primer espacio de -900 milímetros en el eje Y, y el siguiente de -700 contando por 200 cada vez. El espacio número 31 está en una ubicación Y de -300 milímetros.

El robot VR conducirá hasta la ubicación del número ‘31‘ en el patio de recreo del mapa de cuadrícula numérica. Sin embargo, antes de que el Robot VR pueda navegar a ese número, se le debe decir al Robot VR dónde está la ubicación de ese número. Las coordenadas del número ‘31’ son (-900, -300).

Una vista de arriba hacia abajo del patio de recreo del Mapa de cuadrícula numérica, con dos indicadores de eje que marcan la ubicación del espacio número 31. El robot VR comienza en -900 X y -900 Y, mientras que el espacio número 31 está en -900 X y -300 Y.
  • Arrastre el bloque de no espera [Drive] al área de trabajo.

    Un nuevo VEXcode VR bloquea el proyecto que comienza con un bloque When Started seguido de un bloque Drive Forward.
  • Adjunte un bloque [Esperar hasta] debajo del bloque [Conducir].

    Una continuación del proyecto de bloques VEXcode VR, ahora con un bloque Wait Until añadido después del bloque Drive Forward. Todo el proyecto ahora se lee When Started, Drive Forward y Wait Until. El bloque Esperar hasta tiene un parámetro booleano vacío.
  • Arrastre el bloque informador <Greater than> booleano al bloque [Esperar hasta].

    Una continuación del proyecto de bloques VEXcode VR, ahora con un bloque Greater Than insertado en el bloque Wait Until. Todo el proyecto ahora se lee When Started, Drive Forward seguido de un bloque Wait Until con un bloque Greater Than que dice 'blank is Greater Than 50'.
  • Tenga en cuenta que se utiliza el <Greater than> bloque en lugar del <Less than> bloque porque el robot de realidad virtual está subiendo desde la parte inferior del patio de recreo. El robot VR comienza con un valor Y de -900 milímetros (mm). A medida que el robot VR avanza, los valores Y aumentan.

    La misma vista de arriba hacia abajo del patio de recreo del Mapa de cuadrícula numérica con dos indicadores de eje que marcan la ubicación del espacio número 31 desde antes. El robot VR comienza en -900 X y -900 Y, mientras que el espacio número 31 está en -900 X y -300 Y.
  • Arrastre el bloque (Posición del robot) al <Greater than> bloque.

    Una continuación del proyecto VEXcode VR Blocks, ahora con un bloque Position of Robot insertado en el bloque Greater Than. Todo el proyecto ahora lee Cuando se inicia, Conduzca hacia adelante y Espere hasta que la posición X del robot en milímetros sea mayor que 50.
  • Establezca el parámetro del bloque (Posición del robot) en "Y" y el parámetro del <Greater than> bloque en -300.

    Una continuación del proyecto de bloques VEXcode VR, ahora con la Posición del eje del bloque Robot cambiada de X a Y y el segundo parámetro del bloque Mayor que cambió de 50 a -300. Todo el proyecto ahora lee Cuando se inicia, Conducir hacia adelante y Esperar hasta que la posición Y del robot en milímetros sea mayor que -300.
  • Arrastra un bloque [Stop driving] y añádelo al proyecto.

    Una continuación del proyecto de bloques VEXcode VR, ahora con un bloque Stop Driving añadido debajo del bloque Wait Until. Todo el proyecto ahora lee Cuando se inicia, Conducir hacia adelante y Esperar hasta que la posición Y del robot en milímetros sea mayor que -300. Por último, deja de conducir.
  • Inicie Number Grid Map Playground si aún no está abierto y ejecute el proyecto.
  • Mira la unidad VR Robot al número ‘31‘ en el patio de recreo del mapa de cuadrícula numérica.

    Una vista de arriba hacia abajo del patio de recreo del Mapa de cuadrícula numérica con el robot VR descansando en el espacio número 31.
  • En este proyecto, el robot VR conduce al número ‘31‘ en el patio de recreo del mapa de cuadrícula numérica. Dado que los valores Y están aumentando a medida que el robot VR llega al número ‘31’, el proyecto utiliza un <Greater than> bloque.
  • El robot VR se detendrá una vez que su valor Y sea mayor que el valor Y de la coordenada en la que está el número indicado. Dado que el valor Y del número ‘31’ es -300, el robot VR dejará de funcionar una vez que el valor Y sea mayor que -300.
Un diagrama que visualiza el flujo de la lógica en el proyecto VEXcode VR Blocks. El proyecto comienza con un bloque When Started y luego comienza a conducir hacia adelante, y mantiene ese comando hasta que la Posición de la Posición Y del sensor del Robot en milímetros sea mayor que -300, después de lo cual un bloque Stop Driving finaliza el comando Drive Forward.

Uso de bloques de interruptores 

En esta lección, aprendió a usar el bloque VEXcode [Esperar hasta] con una condición booleana para ordenar al robot que espere hasta que el robot alcance una posición superior a -300 en el eje Y antes de pasar al siguiente comportamiento.

La siguiente imagen muestra el bloque VEXcode junto al bloque Switch que contiene el comando Python para los mismos comportamientos. 

Una comparación de un bloque VEXcode VR Wait Until y su correspondiente bloque de conmutación. El bloque VR dice "Esperar hasta que la posición Y del robot en milímetros sea mayor que -300". El código Python del bloque de conmutación dice 'while notlocation.position (Y, MM) > -300: wait(5, MSEC)'. El comando wait tiene sangría debajo de while not.Dentro del bloque Switch, aunque no location.position (Y, MM) > -300: es el primer comando de Python que comprueba si la posición del robot a lo largo del eje X es mayor que -300.

El segundo comando con sangría, wait (5, MSEC), detiene la ejecución del bucle condicional durante 5 milisegundos.

En VEXcode VR, siempre se agrega un comando wait con el bucle condicional. El propósito del comando wait es garantizar que VEXcode VR pueda ejecutar correctamente el proyecto según lo previsto, debido a la naturaleza basada en web de la plataforma VEXcode VR. El comando wait nunca debe eliminarse cuando se utiliza un bucle condicional, o su proyecto podría no ejecutarse como se espera. 

En este ejemplo, el proyecto comprueba si la posición del robot es mayor que un valor Y de -300 cada 5 MS. Esta línea de código está sangrada debajo de la primera línea de código porque este comando es el comportamiento que se repetirá hasta que se cumpla la condición (un valor de coordenada Y mayor que -300). 

Seleccione el botón Siguiente para continuar con el resto de esta lección.