Bloques específicos de robots#

Introducción#

El Hero Bot, Axel, incluye dos opciones de motor, un sensor de visión AI, un sensor óptico, un sensor de rotación y un sensor del sistema de posicionamiento del juego (GPS).

Todos los bloques VEXcode VR estándar están disponibles para su uso en el V5 24-25 High Stakes Playground.

A continuación se muestra una lista de todos los bloques específicos de robots disponibles:

Transmisión: mueva y gire el robot.

Movimiento: mueva y siga los motores del robot.

AI Vision – Captura y analiza objetos utilizando el sensor de visión AI.

  • Acciones

    • get object data: captura datos para una firma específica, como una clasificación de IA detectada.

  • Ajustes

  • Valores

    • object exists – Devuelve si se detectó alguna clasificación.

    • object is – Devuelve si se detecta una clasificación.

    • object count – Devuelve cuántos objetos se detectaron.

    • object property – Devuelve detalles como:

      • width & height – Tamaño del objeto.

      • centerX y centerY – Coordenadas de posición del centro en la vista del sensor.

      • originX y originY – Coordenadas de posición de la esquina superior izquierda en la vista del sensor.

Detección: utilice los diversos sensores del robot.

Los ejemplos de esta página utilizan la posición de inicio predeterminada de Playground.

Tren de transmisión#

La transmisión controla cómo funciona y gira el robot de realidad virtual. El tren motriz puede moverse hacia adelante o hacia atrás, girar a la izquierda o a la derecha, girar hacia los encabezados y seguir su rotación.

Acciones#

unidad#

El bloque de accionamiento mueve el robot hacia adelante o hacia atrás indefinidamente. El robot seguirá moviéndose hasta que se le indique otra acción, como girar o detenerse.

conducir [adelante v]

Parámetros

Descripción

dirección

La dirección en la que se mueve el robot: hacia adelante o hacia atrás.

Ejemplo

cuando inicie :: hat events
[Drive forward, then stop.]
conducir [adelante v]
esperar (2) segundos
detener conducción

unidad para#

El bloque de pila * * drive for * * mueve el robot hacia adelante o hacia atrás una distancia específica. El proyecto esperará hasta que el robot termine de moverse antes de que se ejecute el siguiente bloque de la pila.

conducir [adelante v] por (200) [mm v] ▶

Parámetros

Descripción

dirección

La dirección en la que se mueve el robot: hacia adelante o hacia atrás.

distancia

La distancia que recorre el robot. Esto puede ser un número entero o un decimal.

unidad

La unidad de distancia: mm (milímetros) o pulgadas

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie :: hat events
[Drive forward.]
conducir [adelante v] por (500) [mm v] ▶

giro#

El bloque de apilamiento * * Turn * * gira el robot a la izquierda o a la derecha para siempre. El robot continuará girando hasta que se le dé otra acción, como conducir o detenerse.

girar [derecha v]

Parámetros

Descripción

dirección

La dirección en la que gira el robot: * * izquierda * * o derecha.

Ejemplo

cuando inicie :: hat events
[Turn right, then stop.]
girar [derecha v]
esperar (2) segundos
detener conducción

girar para#

El bloque de apilamiento * * turn for * * gira el robot hacia la izquierda o hacia la derecha un número específico de grados. El giro es relativo a la posición actual del robot. El proyecto esperará hasta que el robot termine de girar antes de que se ejecute el siguiente bloque de la pila.

girar [derecha v] por (90) grados ▶

Parámetros

Descripción

dirección

La dirección en la que gira el robot: * * izquierda * * o derecha.

ángulo

El número de grados que gira el robot. Esto puede ser un número entero o un decimal.

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie :: hat events
[Turn left, then turn around to the right.]
girar [izquierda v] por (90) grados ▶
girar [derecha v] por (180) grados ▶

pasar al encabezado#

Un rumbo es la dirección hacia la que mira el robot, medida en grados. El bloque de apilamiento * * girar a rumbo * * hace que el robot se enfrente a un rumbo específico de -359 a 359 grados. El robot girará en la dirección más corta para alcanzar el rumbo objetivo.

El rumbo inicial es 0 grados.

El proyecto esperará hasta que el robot termine de girar antes de que se ejecute el siguiente bloque de la pila.

girar al rumbo (90) grados ▶

Parámetros

Descripción

encabezado

El rumbo al que debe enfrentarse el robot es de -359 a 359 grados.

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie :: hat events
[Turn to face the cardinal directions.]
girar al rumbo (90) grados ▶
esperar (2) segundos
girar al rumbo (180) grados ▶
esperar (2) segundos
girar al rumbo (270) grados ▶
esperar (2) segundos
girar al rumbo (0) grados ▶
esperar (2) segundos

girar a rotación#

El bloque de apilamiento * * girar a rotación * * gira el robot a una rotación específica.

La rotación es cuánto ha girado el robot, medida en grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. La rotación también se puede configurar utilizando el bloque set drive rotation.

Los valores de rotación son absolutos. Esto significa que la dirección del giro depende de la rotación actual del robot. Girar a la derecha aumenta la rotación y girar a la izquierda disminuye la rotación.

Por ejemplo, si el robot comienza a 0 grados y gira a una rotación de 720 grados, girará a la derecha dos veces. Si luego giras a una rotación de 360 grados, girará a la izquierda una vez, porque 360 es menos de 720.

El proyecto esperará hasta que el robot termine de girar antes de que se ejecute el siguiente bloque de la pila.

girar a la rotación (90) grados ▶

Parámetros

Descripción

rotación

El valor de rotación, en grados, al que girará el robot. Esto puede ser un número entero o un decimal.

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie :: hat events
[Turn left, then spin in a circle clockwise and face right.]
girar a la rotación (-90) grados ▶
esperar (2) segundos
girar a la rotación (450) grados ▶

dejar de conducir#

El bloque de apilamiento detener conducción detiene el movimiento del robot.

detener conducción

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie :: hat events
[Drive forward, then stop.]
conducir [adelante v]
esperar [4] segundos
detener conducción

Ajustes#

establecer velocidad de accionamiento#

El bloque de apilamiento * * establecer velocidad de accionamiento * * le dice al robot qué tan rápido conducir. Un porcentaje más alto hace que el robot conduzca más rápido y un porcentaje más bajo hace que el robot conduzca más lento.

Cada proyecto comienza con el robot conduciendo al 50% de la velocidad por defecto.

Nota: Una velocidad más alta hace que el robot conduzca más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el robot conduzca más lento, pero puede ser más preciso.

establecer velocidad de conducción a (50) [% v]

Parámetros

Descripción

velocidad

La velocidad para conducir va del 0% al 100%.

unidad

La unidad de velocidad: %

Ejemplo

cuando inicie :: hat events
[Drive forward at the default velocity.]
conducir [adelante v] por (100) [mm v] ▶
esperar (1) segundos
[Move slower.]
establecer velocidad de conducción a (20) [% v]
conducir [adelante v] por (100) [mm v] ▶
esperar (1) segundos
[Move faster.]
establecer velocidad de conducción a (100) [% v]
conducir [adelante v] por (100) [mm v] ▶
esperar (1) segundos

establecer velocidad de giro#

El bloque de apilamiento * * establecer velocidad de giro * * le dice al robot qué tan rápido girar. Un porcentaje más alto hace que el robot gire más rápido y un porcentaje más bajo hace que el robot gire más lento.

Cada proyecto comienza con el robot girando a una velocidad del 50% por defecto.

Nota: Una velocidad más alta hace que el robot gire más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el robot gire más lento, pero puede ser más preciso.

establecer velocidad de giro a (50) [% v]

Parámetros

Descripción

velocidad

La velocidad para girar es de 0% a 100%.

unidad

La unidad de velocidad: %

Ejemplo

cuando inicie :: hat events
[Turn at default velocity.]
girar [derecha v] por (100) grados ▶
esperar (1) segundos
[Turn slower.]
establecer velocidad de giro a (20)%
girar [derecha v] por (100) grados ▶
esperar (1) segundos
[Turn faster.]
establecer velocidad de giro a (100)%
girar [derecha v] por (100) grados ▶
esperar (1) segundos

establecer encabezado de unidad#

Un rumbo es la dirección hacia la que mira el robot, medida en grados. El bloque de pila * * establecer encabezado de unidad * * cambia el encabezado actual del robot a un nuevo valor de encabezado.

Por ejemplo, si el robot ha girado hacia la derecha, establecer el rumbo en 0 grados hace que esa posición orientada hacia la derecha sea la nueva de 0 grados. Luego, el robot puede pasar a otras posiciones en función de ese nuevo encabezado.

establecer rumbo de conducción a (0) grados

Parámetros

Descripción

encabezado

El valor de rumbo, en grados, a establecer para el robot.

Ejemplo

cuando inicie :: hat events
[Turn to the left.]
establecer rumbo de conducción a (90) grados
girar al rumbo (0) grados ▶

establecer rotación de accionamiento#

La rotación es cuánto ha girado el robot, medida en grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. El bloque de apilamiento * * set drive rotation * * cambia la rotación actual del robot a un nuevo valor.

Por ejemplo, si el robot ha realizado dos giros completos a la derecha, su valor de rotación será de 720 grados. Ajustar la rotación a 0 grados restablecerá esa rotación de 720 a 0 grados. Luego, el robot puede pasar a las rotaciones en función de ese nuevo valor.

establecer rotación de conducción a (0) grados

Parámetros

Descripción

rotación

El valor de rotación, en grados, a establecer para el robot. Esto puede ser un número entero o un decimal.

Ejemplo

cuando inicie :: hat events
[Spin counterclockwise two times.]
establecer rotación de conducción a (720) grados
girar a la rotación (0) grados ▶

establecer tiempo de espera de la unidad#

El bloque set drive timeout de la pila establece cuántos segundos intentará el robot completar un movimiento. Si el robot no puede terminar en ese tiempo, dejará de intentarlo y pasará al siguiente bloque de la pila. Esto evita que el robot se quede atascado en un movimiento.

establecer tiempo de espera de conducción a (1) segundos

Parámetros

Descripción

tiempo

El número de segundos que el robot puede intentar terminar un movimiento. Esto puede ser un número entero o un decimal.

Ejemplo

Cuando se inicia, limita el tiempo de conducción a 1 segundo y luego gira 90 grados.#
cuando inicie :: hat events
[Drive forward for 1 second, then turn.]
establecer tiempo de espera de conducción a (1) segundos
conducir [adelante v] por (25) [pulgadas v] ▶
girar [derecha v] por (90) grados ▶

Valores#

la unidad está lista#

La unidad está lista El bloque booleano informa si el robot ha terminado de moverse. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del robot.

  • Verdadero: el robot ha terminado de moverse.

  • Falso: el robot todavía se está moviendo.

Este bloque funciona junto con los bloques de transmisión que tienen el parámetro y no espere.

<¿conducción terminada?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie :: hat events
[Start spinning when the drive is complete.]
conducir [adelante v] por (200) [mm v] ◀ y no esperar
esperar hasta <¿conducción terminada?>
girar [derecha v] por (360) grados ▶

la unidad se está moviendo#

La unidad se está moviendo El bloque booleano informa si el robot se está moviendo. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del robot.

  • Verdadero: el robot se está moviendo.

  • Falso: el robot no se mueve.

Este bloque funciona junto con los bloques de transmisión que tienen el parámetro y no espere.

<¿conducción en movimiento?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie :: hat events
[Print that the robot is moving while it is still driving.]
conducir [adelante v] por (200) [mm v] ◀ y no esperar
mientras <¿conducción en movimiento?>
imprimir [Still Moving...] ▶
esperar (0.1) segundos
limpiar pantalla
fin
imprimir [Done!] ▶

rumbo de la unidad#

Un rumbo es la dirección hacia la que mira el robot, medida en grados. El bloque del reportero * * Drive HEAD * * informa que el rumbo va de 0 a 359,99 grados.

El rumbo inicial del robot es de 0 grados.

(rumbo de conducción en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie :: hat events
[Display the heading after turning.]
girar [derecha v] por (450) grados ▶
imprimir (rumbo de conducción en grados) en pantalla ◀ y mover cursor a la siguiente fila

rotación de la unidad#

La rotación es cuánto ha girado el robot, medida en grados. Al comienzo de un proyecto, el valor de rotación se establece en 0 grados. El bloque indicador * * Drive ROTATION * * informa de la rotación actual del robot.

Girar a la derecha aumenta la rotación y girar a la izquierda disminuye la rotación. Por ejemplo, hacer dos giros completos a la derecha informará una rotación de 720 grados.

(rotación de conducción en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie :: hat events
[Display the rotation after turning.]
girar [derecha v] por (450) grados ▶
imprimir (rotación de conducción en grados) en pantalla ◀ y mover cursor a la siguiente fila

velocidad de accionamiento#

El bloque de informe de velocidad de conducción indica la velocidad a la que se desplaza el robot.

(velocidad de conducción en [% v])

Parámetros

Descripción

unidad

La unidad de velocidad: %

Ejemplo

cuando inicie :: hat events
[Display the velocity after driving.]
conducir [adelante v] por (200) [mm v] ▶
imprimir (velocidad de conducción en [% v]) en pantalla ◀ y mover cursor a la siguiente fila

Movimiento#

Axel utiliza el motor del brazo para levantar y bajar el brazo para que los anillos puedan colocarse cerca de las estacas. El motor del empujador mueve el empujador hacia abajo del brazo para empujar los anillos fuera del brazo y sobre una estaca.

Cada motor tiene sus propias opciones de dirección. Los nombres de las direcciones describen cómo se mueve ese motor en Axel.

Acciones#

motor de giro#

El bloque de pila * * motor giratorio * * hace girar un motor en una de dos direcciones para siempre. El motor continuará girando hasta que se le dé otra acción, como girar en una dirección diferente o detenerse.

girar [ArmMotor v] [arriba v]

Parámetros

Descripción

motor

El motor a girar: ArmMotor o PusherMotor.

dirección

Dirección de giro del motor:

  • Motor del brazo — arriba o abajo
  • Motor del empujador — bajar o subir

Ejemplo

cuando inicie
[Lift the Arm before moving to a Mobile Goal.]
girar [ArmMotor v] [arriba v]
esperar (1) segundos
detener [ArmMotor v]

motor de giro para#

El motor giratorio para bloque de apilamiento hace girar un motor para una distancia específica. El giro es relativo a la posición actual del motor. El proyecto esperará hasta que el motor termine de girar antes de que se ejecute el siguiente bloque de la pila.

girar [ArmMotor v] [arriba v] por (90) [grados v] ▶

Parámetros

Descripción

motor

El motor a girar: ArmMotor o PusherMotor.

dirección

Dirección de giro del motor:

  • Motor del brazo — arriba o abajo
  • Motor del empujador — bajar o subir

distancia

La distancia que gira el motor. Los grados usan enteros. Los giros pueden usar enteros o decimales.

unidad

La unidad de distancia: grados o giros.

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie
[Lift the Arm.]
girar [ArmMotor v] [arriba v] por [200] [grados v] ▶

girar el motor a la posición#

El bloque de pila girar el motor a la posición hace girar un motor a una posición específica.

La posición de un motor es la distancia a la que ha girado, medida en * * grados * * o giros. Un giro es igual a 360 grados. Al comienzo de un proyecto, la posición del motor se establece en 0 grados. La posición del motor también se puede configurar utilizando el bloque set motor position.

Los valores de posición son absolutos. Esto significa que la dirección del giro depende de la posición actual del motor.

Por ejemplo, si el motor arranca a 0 grados y gira a una posición de 720 grados, girará hacia adelante dos vueltas. Si luego gira a una posición de 360 grados, girará en reversa una vuelta, porque 360 es menos de 720.

girar [ArmMotor v] a la posición (90) [grados v] ▶

Parámetros

Descripción

motor

El motor a girar: ArmMotor o PusherMotor.

cargo

El valor de posición al que girará el motor. Los grados usan enteros. Los giros pueden usar enteros o decimales.

unidad

La unidad de posición: grados o giros.

y no esperes

Selecciona la flecha (▶) para expandir el bloque y decir y no esperes, para que el siguiente bloque de la pila se ejecute de inmediato.

Ejemplo

cuando inicie
[Lift the Arm.]
girar [ArmMotor v] a la posición [350] [grados v] ▶

motor de parada#

El bloque parar motor detiene el motor seleccionado.

detener [ArmMotor v]

Parámetros

Descripción

motor

El motor a parar: ArmMotor o PusherMotor.

Ejemplo

cuando inicie
girar [ArmMotor v] [arriba v]
esperar (1) segundos
detener [ArmMotor v]

Ajustes#

establecer velocidad del motor#

El bloque de apilamiento establecer velocidad del motor le dice a un motor qué tan rápido debe girar. Un porcentaje más alto hace que el motor gire más rápido y un porcentaje más bajo hace que el motor gire más lento.

Cada proyecto comienza con cada motor girando al 50% de velocidad por defecto.

Nota: Una velocidad más alta hace que el motor gire más rápido, pero puede ser menos preciso. Una velocidad más baja hace que el motor gire más lento, pero puede ser más preciso.

establecer velocidad de [ArmMotor v] a [50] [% v]

Parámetros

Descripción

motor

El motor para ajustar la velocidad de: ArmMotor o PusherMotor.

velocidad

La velocidad a la que girará el motor. Porcentaje usa números enteros del 0% al 100%.

unidad

La unidad de velocidad: %.

Ejemplo

cuando inicie
establecer velocidad de [ArmMotor v] a [100] [% v]
girar [ArmMotor v] [arriba v] por [200] [grados v] ▶

configurar el tiempo de espera del motor#

El bloque set motor timeout de la pila establece cuánto tiempo intentará un motor completar un movimiento. Si el motor no puede terminar en ese tiempo, dejará de intentarlo y pasará al siguiente bloque de la pila. Esto evita que el motor se quede atascado en un movimiento.

establecer tiempo de espera de [ArmMotor v] a [1] segundos

Parámetros

Descripción

motor

El motor para configurar el tiempo de espera de: *ArmMotor * o PusherMotor.

tiempo

El número de segundos que el motor puede intentar terminar un movimiento. Esto puede ser un número entero o decimal.

Ejemplo

cuando inicie
establecer tiempo de espera de [ArmMotor v] a [1] segundos
girar [ArmMotor v] [arriba v] por [5] [vueltas v] ▶

Cargo#

posición del motor#

La posición de un motor es la distancia a la que ha girado, medida en * * grados * * o giros. Un giro es igual a 360 grados. El bloque indicador * * posición del motor * * informa la posición actual del motor.

Al comienzo de un proyecto, la posición del motor se establece en 0 grados. Si el motor gira una vuelta completa hacia adelante, la posición será de 360 grados o 1 vuelta. Si el motor gira en la otra dirección, la posición será negativa.

(posición de [ArmMotor v] en [grados v])

Parámetros

Descripción

motor

El motor para informar la posición de: ArmMotor o PusherMotor.

unidad

La unidad para informar la posición del motor en: grados o giros.

ajustar la posición del motor#

La posición de un motor es la distancia a la que ha girado, medida en * * grados * * o giros. Un giro es igual a 360 grados. El bloque de apilamiento * * set motor position * * cambia la posición actual del motor a un nuevo valor.

Por ejemplo, si un motor ha girado a 180 grados, ajustar la posición a 0 grados restablecerá esa posición de 180 a 0 grados. Entonces el motor puede girar a posiciones basadas en ese nuevo valor.

establecer posición de [ArmMotor v] a (0) [grados v]

Parámetros

Descripción

motor

El motor para ajustar la posición de: ArmMotor o PusherMotor.

cargo

El valor de posición a establecer para el motor. Los grados usan enteros. Los giros pueden usar enteros o decimales.

unidad

La unidad de posición: grados o giros.

Valores#

el motor está listo#

El motor está listo El bloque booleano informa si el motor ha terminado de moverse. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del motor.

  • Verdadero — El motor ha terminado de moverse.

  • Falso — El motor todavía está en movimiento.

Este bloque funciona junto con los siguientes bloques de movimiento que tienen el parámetro y no espere: motor de giro para y motor de giro a la posición.

<¿[ArmMotor v] terminó?>

Parámetros

Descripción

motor

El motor para informar si ha terminado de moverse: ArmMotor o PusherMotor.

el motor está girando#

El motor está girando El bloque booleano informa si el motor está girando. Esto se puede utilizar para controlar el tiempo de otros comportamientos basados en el movimiento del motor.

  • Verdadero — El motor está girando.

  • Falso — El motor no está girando.

Este bloque funciona junto con los siguientes bloques de movimiento que tienen el parámetro y no espere: motor de giro para y motor de giro a la posición.

<¿[ArmMotor v] está girando?>

Parámetros

Descripción

motor

El motor para informar si está girando: ArmMotor o PusherMotor.

velocidad del motor#

El bloque indicador * * velocidad del motor * * informa qué tan rápido está girando el motor, como un porcentaje de -100% a 100%.

(velocidad de [ArmMotor v] en [% v] :: custom-motion)

Parámetros

Descripción

motor

El motor para informar la velocidad de: ArmMotor o PusherMotor.

unidad

La unidad a reportar la velocidad del motor en: %.

Visión de IA#

Acciones#

obtener datos de objeto#

El bloque obtener datos del objeto filtra los datos del marco del sensor de visión de IA a una sola firma: una descripción guardada de algo que el sensor puede reconocer, como un elemento de juego en el campo.

El conjunto de datos almacena objetos ordenados de mayor a menor por ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto utilizando el bloque AI Vision object property. Se devuelve un conjunto de datos vacío si no se detectan objetos coincidentes.

El bloque Obtener pila de datos de objeto.#
obtener datos [Clasificaciones de IA v] de [AIVision v]

Parámetro

Descripción

firma

Filtra el conjunto de datos para incluir solo los datos de la firma dada. Las firmas disponibles son:

  • Clasificaciones de IA - Detecta objetivos móviles, anillos rojos y anillos azules.

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
imprimir [Largest object's width:] ▶
imprimir (objeto [ancho v] de [AIVision v]) ◀ y mover cursor a la siguiente fila
fin

Ajustes#

establecer elemento de objeto#

El bloque set object item establece qué elemento del conjunto de datos usar.

El bloque Set AI Vision object item stack.#
establecer elemento de objeto de [AIVision v] a [1]

Parámetros

Descripción

artículo

El número del elemento en el conjunto de datos a utilizar.

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
si <¿objeto de [AIVision v] es [MobileGoal v]?> entonces
imprimir [Mobile Goal is detected.] ▶
si no
imprimir [Mobile Goal is not detected.] ▶
fin
fin

Valores#

el objeto existe#

El bloque existe devuelve un booleano que indica si se detecta 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.

El objeto AI Vision existe como bloque booleano.#
<¿existe objeto de [AIVision v]?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
imprimir (cantidad de objetos de [AIVision v]) ◀ y mover cursor a la siguiente fila
fin

el objeto es#

El bloque AI Vision es devuelve un booleano que indica si un objeto detectado coincide con una clasificación específica.

  • Verdadero: el elemento del conjunto de datos es el objeto específico.

  • Falso: el elemento del conjunto de datos no es el objeto específico.

El objeto AI Vision es un bloque booleano.#
<¿objeto de [AIVision v] es [MobileGoal v]?>

Parámetro

Descripción

objeto

Con qué objeto comparar el artículo:

  • MobileGoal
  • RedRing
  • BlueRing

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
si <¿objeto de [AIVision v] es [MobileGoal v]?> entonces
imprimir [Mobile Goal is detected.] ▶
si no
imprimir [Mobile Goal is not detected.] ▶
fin
fin

recuento de objetos#

El bloque recuento de objetos devuelve el número de objetos detectados en el conjunto de datos como un número entero.

El bloque Set AI Vision object item stack.#
(cantidad de objetos de [AIVision])

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
imprimir (cantidad de objetos de [AIVision v]) ◀ y mover cursor a la siguiente fila
fin

propiedad de objeto#

Hay seis propiedades que se incluyen con cada objeto (que se muestra a continuación) almacenado después de usar el bloque * * get object data * *.

El bloque de reportero de propiedad de objeto AI Vision.#
(objeto [ancho v] de [AIVision v])

Todos los valores de las propiedades describen la posición y el tamaño 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. Estos valores se miden en píxeles, según la resolución de 320 x 240 píxeles del sensor.

Parámetro

Descripción

propiedad

Qué propiedad del objeto detectado usar:

ancho#

La propiedad * * width * * informa del ancho del objeto detectado en píxeles como un número entero del 1 al 320.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en ancho.#
(objeto [ancho v] de [AIVision v])

Ejemplo

cuando inicie
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
girar [ArmMotor v] [arriba v] por [270] [grados v] ▶
obtener datos [Clasificaciones de IA v] de [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <¿existe objeto de [AIVision v]?> entonces
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
imprimir [Largest object's width:] ▶
imprimir (objeto [ancho v] de [AIVision v]) ◀ y mover cursor a la siguiente fila
fin
altura#

La propiedad altura informa la altura del objeto detectado en píxeles como un número entero del 1 al 240.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en altura.#
(objeto [alto v] de [AIVision v])
centerX#

La propiedad * * centerX* * informa la coordenada x del centro del objeto detectado en píxeles como un número entero de 0 a 320.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en centerX.#
(objeto [centroX v] de [AIVision v])
centerY#

La propiedad *centerY * informa la coordenada y del centro del objeto detectado en píxeles como un número entero de 0 a 240.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en centerY.#
(objeto [centroY v] de [AIVision v])
originX#

La propiedad originX informa 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.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en originX.#
(objeto [origenX v] de [AIVision v])
originY#

La propiedad *originY * informa 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.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en originY.#
(objeto [origenY v] de [AIVision v])

Detección#

Óptico#

Óptico encontró un objeto#

El bloque booleano Optical found an object informa si el sensor óptico detecta o no un objeto dentro del alcance.

  • Verdadero: el sensor óptico detecta un objeto.

  • Falso: el sensor óptico no detecta ningún objeto.

<¿[FrontOptical v] encontró un objeto?>

Parámetros

Descripción

Este bloque no tiene parámetros.

El óptico detecta el color#

El bloque booleano Optical detecta el color informa si el sensor óptico detecta un color específico, en función del valor de tono detectado.

  • Verdadero: el sensor detecta el color especificado.

  • Falso: el sensor no detecta el color especificado.

Nota: El sensor óptico está buscando rangos de tonalidad que coincidan con el color especificado. Para detectar rangos de tonalidad específicos, consulte el Bloque de tonalidad óptica.

<¿[FrontOptical v] detecta [rojo v]?>

Parámetros

Descripción

color

Qué color buscar:

  • * * rojo * * – Un valor de tono detectado entre 340° - 20°.
  • * * verde * * – Un valor de tono detectado entre 80° - 140°.
  • * * azul * * – Un valor de tono detectado entre 200° - 240°.
  • * * amarillo * * – Un valor de tono detectado entre 40° - 60°.
  • * * naranja * * – Un valor de tono detectado entre 20° - 40°.
  • púrpura – Un valor de tono detectado entre 240° - 280°.
  • cian – Un valor de tono detectado entre 140° - 200°.

Brillo óptico#

El bloque indicador Brillo óptico informa de la cantidad de luz que se refleja de vuelta al sensor óptico, como un porcentaje del 0% al 100%.

Un porcentaje más alto significa que se refleja más luz al sensor óptico. Un porcentaje más bajo significa que se refleja menos luz.

(brillo de [FrontOptical v] en %)

Parámetros

Descripción

Este bloque no tiene parámetros.

Tonalidad óptica#

El bloque indicador * * Optical Hue * * informa del tono detectado por el sensor óptico como un número de 0 a 359 grados.

El tono es una forma de describir el color usando números alrededor de una rueda de color.

Una rueda de color circular que muestra un espectro completo de tonos etiquetados con valores de grado alrededor del perímetro, aumentando en incrementos de 30 grados de 0° en la parte superior a 360°.

(matiz de [FrontOptical v] en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.

cuando óptico#

El bloque de sombrero * * when Optical * * ejecuta la pila de bloques adjunta cada vez que el sensor óptico detecta o pierde un objeto.

cuando [FrontOptical v] [detecta v] un objeto :: hat events

Parámetros

Descripción

estado

Cuando se ejecutará la pila de bloques adjunta: detecta se ejecuta cuando se detecta un objeto no detectado, mientras que pierde se ejecuta cuando ya no se detecta un objeto detectado.

Rotación#

establecer la posición del sensor de rotación#

El bloque set Rotation Sensor position establece la posición actual del sensor de rotación en un valor en grados.

establecer posición de [PusherRotation v] a [0] grados

Parámetros

Descripción

cargo

La posición a la que se debe ajustar el sensor de rotación.

Ejemplos

cuando inicie
[Make lower Pusher position the new 0 degrees rotation position.]
girar [PusherMotor v] [inferior v] por [270] [grados v] ▶
establecer posición de [PusherRotation v] a [0] grados

Ángulo del sensor de rotación#

El bloque ángulo del sensor de rotación devuelve el ángulo actual del sensor entre 0 y 359,99 grados.

(ángulo de [PusherRotation v] en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplos

cuando inicie
[Make lower Pusher position the new 0 degrees rotation position.]
girar [PusherMotor v] [inferior v] por [270] [grados v] ▶
imprimir (ángulo de [PusherRotation v] en grados) ▶

Posición del sensor de rotación#

El bloque Posición del sensor de rotación devuelve la posición de rotación total en grados o giros.

(posición de [PusherRotation v] en [grados v] :: custom-sensing)

Parámetros

Descripción

unidades

La unidad de rotación: grados o giros.

Ejemplos

cuando inicie
[Make lower Pusher position the new 0 degrees rotation position.]
girar [PusherMotor v] [inferior v] por [270] [grados v] ▶
imprimir (posición de [PusherRotation v] en [grados v] :: custom-sensing) ▶

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™).

(posición [X v] de [GPS v] en [mm v])

Parámetros

Descripción

eje

Qué eje informar:

  • X
  • Y

unidades

La unidad para representar la posición: mm o pulgadas

Encabezado GPS#

El bloque Rumbo GPS devuelve el rumbo al que se enfrenta actualmente el robot en función de las lecturas del sensor GPS (Game Positioning System™) del código de campo VEX GPS de 0,00 a 359,99 grados.

(rumbo de [GPS v] en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.