Bloques específicos para robots#
Introducción#
El parque infantil V5RC 25-26 Push Back incluye bloques exclusivos diseñados para este modelo, entre los que se incluyen dos opciones de motor, un sensor de visión con IA, un sensor óptico y un sensor de sistema de posicionamiento de juego (GPS).
Todos los bloques VEXcode VR estándar están disponibles para su uso en el parque infantil V5RC 25-26 Push Back.
A continuación se muestra una lista de todos los bloques disponibles específicos para parques infantiles:
Movimiento: Mueve y rastrea los motores del robot.
Comportamiento
girar motor – Hace girar el motor o grupo de motores seleccionado indefinidamente.
girar motor durante – Hace girar un motor o grupo durante una distancia específica en grados o vueltas.
girar motor a posición – Gira un motor o grupo de motores a una posición establecida.
detener motor – Detiene el giro de un motor o grupo de motores específico.
Ajustes
establecer velocidad del motor – Establece la velocidad de un motor o grupo de motores como un porcentaje.
establecer tiempo de espera del motor – Limita cuánto tiempo espera un bloque de motor antes de rendirse si el movimiento está bloqueado.
Posición
posición del motor – Devuelve la posición de rotación actual del motor en grados o vueltas.
establecer posición del motor – Establece el valor del codificador de un motor o grupo de motores.
Valores
¿El motor se ha detenido? – Devuelve un valor booleano que indica si el motor ya no está girando.
¿El motor está girando? – Devuelve un valor booleano que indica si el motor está girando actualmente.
velocidad del motor – Devuelve la velocidad actual del motor en %.
Visión por IA: Captura y analiza objetos utilizando el sensor de visión por IA.
Comportamiento
obtener datos del objeto – Captura datos para un tipo de objeto específico, como colores, objetos preentrenados o AprilTags.
Ajustes
establecer elemento de objeto – Selecciona un objeto específico de la lista.
Valores
¿Existe el objeto? – Devuelve si se detectó alguna clasificación.
Clasificación de IA es – Devuelve si se detecta una clasificación.
contador de objetos – Devuelve cuántos objetos se detectaron.
propiedad del objeto – Devuelve detalles como:
Detección: Utilice los diversos sensores del robot.
Óptico
¿El sensor óptico encontró un objeto? – Devuelve si se detectó un objeto.
¿Detección óptica de color? – Devuelve si se detecta un color específico.
Brillo óptico – Devuelve el brillo en %.
Tono óptico – Devuelve el tono del color detectado.
cuando óptico – Ejecuta los bloques adjuntos cuando el sensor óptico detecta o pierde un objeto.
GPS
Posición GPS – Devuelve la posición X o Y del sensor GPS.
Rumbo GPS – Devuelve el rumbo hacia el que apunta actualmente el robot.
Los ejemplos de esta página utilizan la posición de inicio predeterminada del Playground.
Movimiento#
Comportamiento#
motor de giro#
El bloque motor de giro hace girar un motor o grupo de motores seleccionados en una dirección específica utilizando la velocidad actual del motor.
spin [ConveyorMotor v] [up v]
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores a girar:
|
dirección |
Dirección de giro:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [350] [mm v] ▶
motor de giro para#
El bloque motor de giro para hace girar un motor o grupo de motores seleccionados durante una cantidad específica de rotación utilizando la velocidad actual del motor, medida en grados o vueltas.
spin [ConveyorMotor v] [up v] for (90) [degrees v] ▶
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores a girar:
|
dirección |
Dirección de giro:
|
distancia |
La cantidad de rotación, como un número entero o decimal. |
unidad |
La unidad de medida que representa la distancia:
|
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el motor terminará de moverse antes de ejecutar el siguiente bloque. Para que el motor comience a moverse y ejecute inmediatamente el siguiente bloque, expanda el bloque para que diga y no espere. |
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [350] [mm v] ▶
motor de giro para posicionar#
El bloque girar motor a posición hace girar un motor o grupo de motores a una posición absoluta específica utilizando la velocidad del motor y la posición del motor actuales.
spin [ConveyorMotor v] to position (90) [degrees v] ▶
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores a girar:
|
posición |
La posición objetivo a la que debe girar el grupo motor. |
unidad |
Unidad de medida:
|
flecha expansiva |
Por defecto, este es un bloque de espera, por lo que el motor terminará de moverse antes de ejecutar el siguiente bloque. Para que el motor comience a moverse y ejecute inmediatamente el siguiente bloque, expanda el bloque para que diga y no espere. |
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] to position [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [350] [mm v] ▶
motor de parada#
El bloque parar motor detiene inmediatamente el motor o grupo de motores seleccionado.
stop [ConveyorMotor v]
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores a detener:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [350] [mm v] ▶
stop [IntakeMotor v]
Ajustes#
establecer la velocidad del motor#
El bloque establecer velocidad del motor establece la velocidad de giro predeterminada de un motor o grupo de motores como un porcentaje para todos los bloques Motor subsiguientes en el proyecto.
set [ConveyorMotor v] velocity to [50] [% v]
Parámetros |
Descripción |
|---|---|
motor |
Grupo motor para ajustar la velocidad de:
|
velocidad |
Establece la velocidad de movimiento predeterminada de 0 a 100 como porcentaje. |
unidad |
La unidad que representa la velocidad:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
set [ConveyorMotor v] velocity to [100] [% v]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [400] [mm v] ▶
establecer tiempo de espera del motor#
El bloque set motor timeout establece un límite de tiempo para que un bloque Motor espere hasta alcanzar su objetivo. Si el robot no puede completar el movimiento dentro del tiempo establecido, se detendrá automáticamente y continuará con el siguiente bloque.
Nota: El límite de tiempo del Motor se utiliza para evitar que los bloques del Motor que no alcanzan su posición objetivo detengan la ejecución de otros bloques en la pila.
set [ConveyorMotor v] timeout to [1] seconds
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores para configurar el tiempo de espera:
|
tiempo |
El número máximo de segundos que un bloque de motor funcionará antes de detenerse y pasar al siguiente bloque. |
Ejemplo
cuando empezó
[Pick up a second Block.]
set [ConveyorMotor v] timeout to [0.5] seconds
spin [ConveyorMotor v] to position [1000] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [400] [mm v] ▶
Posición#
posición del motor#
El bloque posición del motor devuelve la distancia total que ha girado el motor o grupo de motores seleccionado.
([ConveyorMotor v] position in [degrees v])
Parámetros |
Descripción |
|---|---|
motor |
El grupo motor para devolver la posición de:
|
unidad |
Unidad de medida:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
while <([ConveyorMotor v] position in [degrees v]) [math_less_than v] [200]>
spin [ConveyorMotor v] [up v]
fin
stop [ConveyorMotor v]
spin [IntakeMotor v] [intake v]
drive [forward v] for [400] [mm v] ▶
establecer la posición del motor#
El bloque establecer posición del motor asigna un valor de posición específico a un motor o grupo de motores, lo que actualiza la lectura del codificador.
set [ConveyorMotor v] position to (0) [degrees v]
Parámetros |
Descripción |
|---|---|
motor |
Grupo motor para establecer la posición de:
|
posición |
El valor de posición del codificador que se va a configurar. |
unidad |
Unidad de medida:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
set [ConveyorMotor v] position to [-200] [degrees v]
spin [ConveyorMotor v] to position [0] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [400] [mm v] ▶
Valores#
El motor está terminado#
El bloque ¿El motor está detenido? devuelve un valor booleano que indica si el motor o el grupo de motores no está girando.
Cierto: el motor no está girando.
Falso: el motor está girando.
<[ConveyorMotor v] is done?>
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores a comprobar si no gira:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] to position [300] [degrees v] ◀ and don't wait
unidad [adelante v]
spin [IntakeMotor v] [intake v]
wait until <[ConveyorMotor v] is done?>
deja de conducir
stop [IntakeMotor v]
¿El motor está girando?#
El bloque ¿El motor está girando? devuelve un valor booleano que indica si el motor está girando.
Cierto: el motor está girando.
Falso: el motor no está girando.
<[ConveyorMotor v] is spinning?>
Parámetros |
Descripción |
|---|---|
motor |
Grupo de motores para comprobar si está girando:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] to position [300] [degrees v] ◀ and don't wait
esperar [0.1] segundos
while <[ConveyorMotor v] is spinning?>
unidad [adelante v] para [200] [mm v] ▶
spin [IntakeMotor v] [intake v]
velocidad del motor#
El bloque velocidad del motor devuelve la velocidad de rotación actual del motor o grupo de motores en un rango de -100% a 100%.
([ConveyorMotor v] velocity in [% v] :: custom-motion)
Parámetros |
Descripción |
|---|---|
motor |
El grupo motor para devolver la velocidad de:
|
unidad |
La unidad que representa la velocidad:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
set [ConveyorMotor v] velocity to [100] [% v]
spin [ConveyorMotor v] to position [300] [degrees v] ◀ and don't wait
esperar [0.2] segundos
print ([ConveyorMotor v] velocity in [% v] :: custom-motion) ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [400] [mm v] ▶
Visión por IA#
Comportamiento#
obtener datos del objeto#
El bloque obtener datos de objeto filtra los datos del marco del sensor de visión de IA. El sensor de visión de IA puede detectar elementos del juego en el campo.
El conjunto de datos almacena objetos ordenados de mayor a menor ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto mediante el bloque Propiedad del objeto de AI Vision. Se devuelve un conjunto de datos vacío si no se detectan objetos coincidentes.
get [AI Classifications v] data from AI Vision
Parámetro |
Descripción |
|---|---|
firma |
Filtra el conjunto de datos para incluir solo datos de la firma dada. La única firma disponible es:
|
Ejemplo
cuando empezó
[If an object is detected, pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
spin [IntakeMotor v] [intake v]
unidad [adelante v]
wait until <[Bumper v] pressed?>
deja de conducir
romper
Ajustes#
elemento de objeto de conjunto#
El bloque establecer elemento de objeto establece qué elemento del conjunto de datos se debe utilizar.
set [AIVision v] object item to [1]
Parámetros |
Descripción |
|---|---|
artículo |
El número del elemento del conjunto de datos que se va a utilizar. |
Ejemplo
cuando empezó
[Display what object is farthest away.]
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
set [AIVision v] object item to ([AIVision v] object count)
borrar todas las filas
if <[AIVision v] object is [BlueBlock v]?> then
print [Blue Block farthest away.] ▶
demás
print [Red Block farthest away.] ▶
Valores#
¿Existe el objeto?#
El bloque ¿Existe algún objeto? devuelve un valor booleano que indica si se ha detectado algún objeto en el conjunto de datos.
Verdadero: el conjunto de datos incluye un objeto detectado.
Falso: el conjunto de datos no incluye ningún objeto detectado.
<[AIVision v] object exists?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[If an an object is detected, pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
spin [IntakeMotor v] [intake v]
unidad [adelante v]
wait until <[Bumper v] pressed?>
deja de conducir
romper
La clasificación de IA es#
El bloque ¿El objeto de AI Vision es? devuelve un valor booleano que indica si un objeto detectado coincide con una clasificación específica.
Verdadero: el elemento en el conjunto de datos es el objeto específico.
Falso: el elemento en el conjunto de datos no es el objeto específico.
<[AIVision v] object is [BlueBlock v]?>
Parámetro |
Descripción |
|---|---|
objeto |
¿Con qué objeto comparar el elemento?:
|
Ejemplo
cuando empezó
[Display what object is farthest away.]
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
set [AIVision v] object item to ([AIVision v] object count)
borrar todas las filas
if <[AIVision v] object is [BlueBlock v]?> then
print [Blue Block farthest away.] ▶
demás
print [Red Block farthest away.] ▶
recuento de objetos#
El bloque conteo de objetos devuelve el número de objetos detectados en el conjunto de datos como un número entero.
([AIVision] object count)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Display what object is farthest away.]
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
set [AIVision v] object item to ([AIVision v] object count)
borrar todas las filas
if <[AIVision v] object is [BlueBlock v]?> then
print [Blue Block farthest away.] ▶
demás
print [Red Block farthest away.] ▶
propiedad del objeto#
Hay seis propiedades que se incluyen con cada objeto (que se muestra a continuación) almacenadas después de que se utiliza el bloque obtener datos del objeto.
([AIVision v] object [width v])
Algunos valores de propiedad se basan en la posición del objeto detectado en la vista del sensor de visión artificial en el momento en que se utilizó el bloque obtener datos del objeto. El sensor de visión artificial tiene una resolución de 320 x 240 píxeles.
Parámetro |
Descripción |
|---|---|
propiedad |
¿Qué propiedad del objeto detectado utilizar?: |
ancho#
El parámetro width devuelve el ancho del objeto detectado en píxeles como un número entero entre 1 y 320.
([AIVision v] object [width v])
Ejemplo
cuando empezó
[If an an object is detected, approach and pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <([AIVision v] object [width v]) [math_greater_than v] [65]> then
deja de conducir
romper
demás
spin [IntakeMotor v] [intake v]
unidad [adelante v]
altura#
La función height devuelve la altura del objeto detectado en píxeles como un número entero entre 1 y 240.
([AIVision v] object [height v])
Ejemplo
cuando empezó
[If an an object is detected, approach and pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <([AIVision v] object [height v]) [math_greater_than v] [55]> then
deja de conducir
romper
demás
spin [IntakeMotor v] [intake v]
unidad [adelante v]
centroX#
centerX devuelve la coordenada x del centro del objeto detectado en píxeles como un número entero entre 0 y 320.
([AIVision v] object [centerX v])
Ejemplo
cuando empezó
[Pick up a Block from the top left group.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
turn [left v] for [80] degrees ▶
unidad [adelante v] para [100] [mm v] ▶
set turn velocity to [20] [% v]
turno [izquierda v]
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <<[140] [math_less_than v] ([AIVision v] object [centerX v])> and <([AIVision v] object [centerX v]) [math_less_than v] [180]>> then
spin [IntakeMotor v] [intake v]
unidad [adelante v]
wait until <[Bumper v] pressed?>
deja de conducir
centroY#
centerY devuelve la coordenada y del centro del objeto detectado en píxeles como un número entero entre 0 y 240.
([AIVision v] object [centerY v])
Ejemplo
cuando empezó
[If an an object is detected, approach and pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <([AIVision v] object [centerY v]) [math_greater_than v] [140]> then
deja de conducir
romper
demás
spin [IntakeMotor v] [intake v]
unidad [adelante v]
origenX#
originX devuelve la coordenada x de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 320.
([AIVision v] object [originX v])
Ejemplo
cuando empezó
[Pick up a Block from the top left group.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
turn [left v] for [80] degrees ▶
unidad [adelante v] para [100] [mm v] ▶
set turn velocity to [20] [% v]
turno [izquierda v]
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <<[100] [math_less_than v] ([AIVision v] object [originX v])> and <([AIVision v] object [originX v]) [math_less_than v] [140]>> then
spin [IntakeMotor v] [intake v]
unidad [adelante v]
wait until <[Bumper v] pressed?>
deja de conducir
origenY#
originY devuelve la coordenada y de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 240.
([AIVision v] object [originY v])
Ejemplo
cuando empezó
[If an an object is detected, approach and pick it up.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
para siempre
get [AI Classifications v] data from [AIVision v]
if <[AIVision v] object exists?> then
if <[120] [math_less_than v] ([AIVision v] object [originY v])> then
deja de conducir
romper
demás
spin [IntakeMotor v] [intake v]
unidad [adelante v]
fin
fin
Detección#
Óptico#
¿El sistema óptico detectó algún objeto?#
El bloque ¿El sensor óptico ha detectado un objeto? devuelve un valor booleano que indica si el sensor óptico ha detectado un objeto.
Verdadero: el sensor óptico ha detectado un objeto.
Falso: el sensor óptico no ha detectado ningún objeto.
<[Optical v] found an object?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Move the preloaded Block to the top of the Conveyor.]
spin [ConveyorMotor v] [up v]
wait until <[Optical v] found an object?>
stop [ConveyorMotor v]
¿Detecta el color mediante tecnología óptica?#
El bloque ¿Detecta el color el sensor óptico? devuelve un valor booleano que indica si el sensor óptico ha detectado un color específico.
Verdadero: el sensor óptico ha detectado el color especificado.
Falso: el sensor óptico no ha detectado el color especificado.
<[Optical v] detects [red v]?>
Parámetros |
Descripción |
|---|---|
color |
¿Qué color comprobar?:
|
Ejemplo
cuando empezó
[Pick up and move a Blue Block to the top of the Conveyor.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [360] [mm v] ▶
spin [ConveyorMotor v] [up v]
wait until <[Optical v] detects [blue v]?>
stop [ConveyorMotor v]
Brillo óptico#
El bloque Brillo óptico devuelve la cantidad de luz detectada por el sensor óptico en un rango del 0% al 100%.
([Optical v] brightness in %)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Move the preloaded Block to the top of the Conveyor.]
spin [ConveyorMotor v] [up v]
wait until <[0] [math_less_than v] ([Optical v] brightness in %)>
stop [ConveyorMotor v]
Tonalidad óptica#
El bloque Tono óptico devuelve el valor de tono del color detectado por el sensor óptico.
Los valores de tono van de 0 a 359 grados, lo que corresponde a las posiciones en la rueda de colores que se muestra a continuación.

([Optical v] hue in degrees)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Pick up and move a Blue Block to the top of the Conveyor.]
spin [ConveyorMotor v] [up v] for [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
drive [forward v] for [360] [mm v] ▶
spin [ConveyorMotor v] [up v]
wait until <[240] [math_equal v] ([Optical v] hue in degrees)>
stop [ConveyorMotor v]
cuando óptico#
El bloque when Optical ejecuta su pila cuando el sensor óptico detecta o pierde un objeto. Puedes tener varios bloques when Optical para ejecutar varias pilas de bloques a la vez.
when [Optical v] [detects v] an object
Parámetros |
Descripción |
|---|---|
acción |
¿Qué acción activa el bloque de sombrero?:
|
GPS#
posición GPS#
El bloque Posición GPS devuelve el desplazamiento posicional del punto de referencia de giro del robot desde el centro de un campo con el sensor GPS (Game Positioning System™).
([GPS v] position [X v] in [mm v])
Parámetros |
Descripción |
|---|---|
eje |
¿Qué eje reportar?:
|
unidades |
Unidad para representar la posición:
|
Ejemplo
cuando empezó
[Pick up a second Block.]
spin [ConveyorMotor v] to position [200] [degrees v] ▶
spin [IntakeMotor v] [intake v]
unidad [adelante v]
wait until <[-450] [math_greater_than v] ([GPS v] position [Y v] in [mm v])>
deja de conducir
rumbo GPS#
El bloque rumbo GPS devuelve el rumbo hacia el que apunta actualmente el robot en función de las lecturas del sensor GPS (Game Positioning System™) del código de campo GPS VEX, desde 0,00 hasta 359,99 grados.
([GPS v] heading in degrees)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Score the preloaded Block into a Center Goal.]
turno [izquierda v]
wait until <[40] [math_greater_than v] ([GPS v] heading in degrees)>
drive [forward v] for [1000] [mm v] ▶
turno [derecha v]
wait until <([GPS v] heading in degrees) [math_greater_than v] [310]>
unidad [atrás v] para [200] [mm v] ▶
spin [ConveyorMotor v] [up v]