Bloques específicos del robot#

Todos los bloques VEXcode VR estándar están disponibles para su uso en el patio de juegos V5RC Virtual Skills - High Stakes.

Movimiento#

Los bloques de este patio de juegos tendrán acceso a los parámetros Motor del brazo y Motor del empujador para todos los bloques de movimiento.

Al seleccionar una dirección para los bloques de movimiento, arriba hará girar el brazo hacia adelante y abajo lo hará girar en reversa.

Para el motor de empuje, bajar hará girar el motor de empuje hacia adelante y subir lo hará girar en reversa.

Girar#

El bloque Spin se utiliza para girar un motor indefinidamente.

Este es un bloque sin espera y permite que cualquier bloque posterior se ejecute sin demora.

El bloque muestra un comando utilizado para girar un motor denominado "ArmMotor" en la dirección "arriba".

Seleccione qué motor utilizar.

La imagen muestra un bloque de una interfaz de codificación visual donde el usuario selecciona un motor para el comando/_static/img/playgrounds/v5rc_high_stakes/motion/spin_motor.pnggiro. El motor seleccionado es “ArmMotor” y la opción alternativa en el menú desplegable es “PusherMotor”. El bloque está configurado para girar el “ArmMotor” hacia arriba.

Seleccione en qué dirección se moverá el motor.

El motor del brazo puede girar en dirección arriba o abajo.

La imagen muestra un bloque de código de una interfaz de programación visual, donde el usuario selecciona la dirección del comando «giro/_static/img/playgrounds/v5rc_high_stakes/motion/spin_direction_arm.png. El motor seleccionado es “ArmMotor” y la dirección está configurada en “arriba”, con una opción para cambiar a “abajo” en el menú desplegable.

El motor de empuje puede girar en dirección bajar o subir.

La imagen muestra un bloque de codificación visual donde se aplica el comando “girar” al “Motor de Empuje”. La dirección de giro está configurada actualmente en “bajar”, con una opción en el menú desplegable para cambiar a “subir”/_static/img/playgrounds/v5rc_high_stakes/motion/spin_direction_pusher.png

En este ejemplo, el motor del brazo girará durante 1 segundo para moverse en preparación para marcar.

La imagen muestra una secuencia de bloques de codificación visual que representan un código para levantar un brazo usando el “ArmMotor” antes de moverse hacia una meta móvil. El código comienza con un bloque “al iniciar” seguido de un comentario que dice “Levantar el brazo antes de moverse hacia una meta móvil”. El siguiente bloque indica al “ArmMotor” que gire hacia arriba. A esto le sigue un bloque “esperar”/_static/img/playgrounds/v5rc_high_stakes/motion/spin_example.pngpausa la ejecución durante 1 segundo. Finalmente, el código incluye un bloque “detener” que detiene el “ArmMotor”.

Girar para#

El bloque Girar por se utiliza para girar un motor durante una distancia determinada.

Este puede ser un bloque sin espera o en espera dependiendo de si se utiliza la opción y no esperar.

La imagen muestra un bloque/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_block.pngcodificación visual que representa un comando para controlar un “ArmMotor”. El bloque está diseñado para girar el motor hacia arriba durante 90 grados.

Seleccione qué motor utilizar.

La imagen muestra un bloque de una interfaz de codificación visual que se utiliza para controlar un motor. En este bloque/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_motor.png, se selecciona “ArmMotor” en un menú desplegable y está configurado para girar 90 grados hacia arriba. El menú desplegable está visible y ofrece la opción de seleccionar “PusherMotor” en lugar de “ArmMotor”.

Seleccione en qué dirección se moverá el motor.

El motor del brazo puede girar en dirección arriba o abajo.

La imagen muestra un bloque de codificación visual que se utiliza para controlar un motor. En este bloque, se selecciona “ArmMotor” y la dirección se establece en “arriba” en un menú desplegable. El bloque especifica/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_direction_arm.pngel motor girará 90 grados hacia arriba. El menú desplegable es visible y ofrece la opción de seleccionar “abajo” en lugar de “arriba”.

El motor de empuje puede girar en dirección bajar o subir.

La imagen muestra un bloque de código que controla un motor denominado “Motor de Empuje”. Este bloque especifica que el motor debe girar 90 grados en la dirección “inferior”. Se muestra un menú desplegable/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_direction_pusher.pngpermite al usuario seleccionar la dirección “inferior” o “subir”.

Establezca la distancia que girará el motor ingresando un valor y eligiendo la unidad de medida (grados o vueltas).

La imagen muestra un bloque de codificación utilizado para controlar el “ArmMotor”. Este bloque está configurado para girar el motor hacia arriba durante 90 unidades. Las unidades se pueden seleccionar en un menú desplegable con opciones como “grados” o “vueltas”/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_unit.png

Por defecto, el bloque Girar durante bloqueará la ejecución de los bloques subsiguientes hasta que finalice. Al expandir el bloque Girar durante para mostrar y no esperar, los bloques continuarán ejecutándose mientras el motor esté en movimiento.

La imagen muestra un bloque de código que controla el “ArmMotor”. Este bloque está configurado para girar el motor 90 grados hacia arriba. Además, incluye una opción que indica que el motor no debe esperar después de girar, lo que significa que el código continuará ejecutando la siguiente instrucción inmediatamente después de que el motor comience a girar los 90 grados especificados/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_wait.png

En este ejemplo, el motor del brazo girará 350 grados para no bloquear el sensor de visión de IA.

La imagen muestra un bloque de codificación configurado/_static/img/playgrounds/v5rc_high_stakes/motion/spin_for_example.pngejecutarse al iniciar el código. El bloque indica al “ArmMotor” que gire 350 grados hacia arriba.

Girar hasta la posición#

El bloque Girar a posición se utiliza para girar un motor a una posición establecida.

Este puede ser un bloque sin espera o en espera dependiendo de si se utiliza la opción y no esperar.

La imagen muestra un bloque/_static/img/playgrounds/v5rc_high_stakes/motion/spin_to_position_block.pngcódigo que ordena al “ArmMotor” girar a una posición específica. El motor está configurado para girar 90 grados.

Seleccione qué motor utilizar.

La imagen muestra un bloque de código donde se selecciona el “Motor del Brazo”/_static/img/playgrounds/v5rc_high_stakes/motion/spin_to_position_motor.pnggirar a una posición específica de 90 grados. Se puede elegir entre “Motor del Brazo” y “Motor del Empujador” para esta acción.

Establezca la distancia que girará el motor ingresando un valor y eligiendo la unidad de medida (grados o vueltas).

La imagen muestra un bloque/_static/img/playgrounds/v5rc_high_stakes/motion/spin_to_position_unit.pngcodificación donde el “Motor del Brazo” está configurado para girar a una posición de 90 unidades. Las unidades se pueden seleccionar entre “grados” y “vueltas”, con “grados” actualmente seleccionado.

Por defecto, el bloque Girar a posición bloqueará la ejecución de los bloques subsiguientes hasta que finalice. Al expandir el bloque Girar a posición para mostrar y no esperar, los bloques continuarán ejecutándose mientras el motor esté en movimiento.

La imagen muestra un bloque de código donde el “Motor del Brazo” está programado para girar 90 grados. La acción está configurada para ocurrir sin esperar a/_static/img/playgrounds/v5rc_high_stakes/motion/spin_to_position_wait.pngel motor alcance la posición antes de continuar con el siguiente comando.

En este ejemplo, el motor del brazo girará a la posición de 350 grados para no bloquear el sensor de visión de IA.

La imagen muestra un bloque de código que comienza elevando el “Motor del Brazo” a una posición de 350 grados. El propósito de esta acción es evitar/_static/img/playgrounds/v5rc_high_stakes/motion/spin_to_position_example.pngel brazo espere al Sensor de Visión de IA. El comando se activa al iniciar el código.

Detener el motor#

El bloque Detener motor se utiliza para detener el movimiento del motor.

Este es un bloque sin espera y permite que cualquier bloque posterior se ejecute sin demora.

La imagen muestra un bloque de codificación que ordena al "ArmMotor" detenerse.

Seleccione qué motor utilizar.

La imagen muestra un bloque de codificación donde el usuario puede seleccionar entre "ArmMotor" y "PusherMotor" para detener el motor seleccionado.

En este ejemplo, el motor del brazo girará durante 1 segundo para moverse en preparación para marcar.

La imagen muestra una secuencia de bloques de codificación visual que representan un código para levantar un brazo usando el “ArmMotor” antes de moverse hacia una meta móvil. El código comienza con un bloque “al iniciar” seguido de un comentario que dice “Levantar el brazo antes de moverse hacia una meta móvil”. El siguiente bloque indica al “ArmMotor” que gire hacia arriba. A esto le sigue un bloque “esperar”/_static/img/playgrounds/v5rc_high_stakes/motion/spin_example.pngpausa la ejecución durante 1 segundo. Finalmente, el código incluye un bloque “detener” que detiene el “ArmMotor”.

Establecer la posición del motor#

El bloque Establecer posición del motor se utiliza para establecer la(s) posición(es) del codificador de un motor en el valor ingresado.

Este es un bloque sin espera y permite que cualquier bloque posterior se ejecute sin demora.

La imagen muestra un bloque de codificación utilizado para establecer la posición del "ArmMotor" a 0 grados.

Seleccione qué motor utilizar.

La imagen muestra un bloque de codificación que establece la posición del “Motor del Brazo” a 0 grados. El menú desplegable se expande y muestra dos opciones: “Motor del Brazo” y “Motor del Empujador”. El “Motor del Brazo” está seleccionado, lo que indica que el comando/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_position_motor.pngposición se aplicará a este motor específico.

Establezca la unidad de medida a utilizar, grados o vueltas.

La imagen muestra un bloque de codificación donde la posición del “Motor del Brazo” está establecida en 0, y la unidad de medida se selecciona en un menú desplegable. El menú desplegable está expandido y muestra dos opciones: “grados” y «vueltas/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_position_unit.png. La opción “grados” está seleccionada, lo que indica que el comando de posición se ejecutará en grados.

En este ejemplo, el brazo se eleva a la posición de 350 grados y la establece como su nueva posición de 0 grados.

La imagen muestra una secuencia de codificación que comienza con un bloque “al iniciar”, lo que indica que estos comandos se ejecutarán al iniciarse el código. El primer bloque de la secuencia ordena al “ArmMotor” girar a 350 grados. El segundo bloque establece la posición del “ArmMotor” en 0 grados, convirtiendo esta nueva posición en el punto de referencia o posición de “/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_position_example.pnggrados”.

Establecer la velocidad del motor#

El bloque Establecer velocidad del motor se utiliza para establecer la velocidad de un motor.

Este es un bloque sin espera y permite que cualquier bloque posterior se ejecute sin demora.

La imagen muestra un bloque de codificación que establece la velocidad del "ArmMotor" al 50%.

Seleccione qué motor utilizar.

La imagen muestra un bloque de código que establece la velocidad del “Motor del Brazo” al 50 %. El menú desplegable está abierto/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_velocity_motor.pngmuestra opciones para seleccionar “Motor del Brazo” o “Motor del Empujador” para la configuración de velocidad. El “Motor del Brazo” está seleccionado.

El bloque Establecer velocidad del motor aceptará un rango de -100% a 100%.

En este ejemplo, la velocidad del motor se establece al 100% antes de que se levante el brazo.

La imagen muestra un conjunto de bloques de código utilizados para controlar el “ArmMotor” al iniciar el código. El primer bloque establece la velocidad del “ArmMotor” al 100%, garantizando así su movimiento/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_velocity_example.pngmáxima velocidad. El segundo bloque le indica que gire 350 grados hacia arriba.

Establecer el tiempo de espera del motor#

El bloque Establecer tiempo de espera del motor se utiliza para establecer un límite de tiempo para los bloques de movimiento del motor.

Esto evita que los bloques de movimiento que no alcanzan su posición prevista impidan la ejecución de los bloques posteriores.

Este es un comando sin espera y permite que cualquier comando posterior se ejecute sin demora.

La imagen muestra un bloque de código que establece el tiempo de espera del “ArmMotor” en 1 segundo. Esto significa que el motor se detendrá automáticamente después de 1 segundo de funcionamiento, independientemente/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_timeout_block.pngsi ha completado su acción prevista.

Seleccione qué motor utilizar.

La imagen muestra un bloque de código donde el usuario puede configurar el tiempo de espera de un motor. En este caso, se selecciona “ArmMotor” en un menú desplegable, con la opción de cambiar a “PusherMotor” si se desea. El tiempo de espera se establece en 1 segundo, lo que significa que el motor seleccionado dejará de funcionar después de 1 segundo, independientemente de su tarea actual/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_timeout_motor.png

En este ejemplo, el tiempo de espera del motor se establece en 1 segundo antes de que se levante el brazo.

La imagen muestra una secuencia de codificación que comienza con el bloque “al iniciar”, lo que indica que el código se ejecutará al inicio. El primer bloque establece el tiempo de espera del “Motor del Brazo” en 1 segundo. Esto significa que, después de 1 segundo, el Motor del Brazo se detendrá automáticamente, independientemente de lo que esté haciendo. El segundo bloque le indica que gire “hacia arriba” durante 5 vueltas. Este comando hará que el motor gire en la dirección especificada durante el número de vueltas/_static/img/playgrounds/v5rc_high_stakes/motion/set_motor_timeout_example.png. El tiempo de espera establecido en el primer bloque garantiza que el motor se detenga después de 1 segundo, incluso si no ha completado las 5 vueltas.

Detección#

Axel tiene acceso a los bloques estándar de cerebro, transmisión, parachoques y detección de distancia.

Se ha cambiado el nombre de Detección ocular a Detección óptica para que coincida con el sensor óptico frontal.

Detección de motor#

El motor está listo#

El bloque Motor listo se utiliza para informar si el motor o el grupo de motores seleccionado ha completado su movimiento.

La imagen muestra un bloque etiquetado "¿ArmMotor ha terminado?". Este bloque se utiliza para comprobar si el "ArmMotor" ha completado su tarea, como alcanzar una posición objetivo o finalizar un comando de giro.

Seleccione qué motor o grupo de motores utilizar.

La imagen muestra un bloque etiquetado “¿ArmMotor ha terminado?” con un menú desplegable que selecciona el motor. El menú desplegable muestra “ArmMotor” seleccionado, pero también permite al usuario elegir “PusherMotor”. Este bloque se/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_done_motor.pngpara comprobar si el motor seleccionado, ya sea “ArmMotor” o “PusherMotor”, ha completado su acción, como alcanzar una posición específica o finalizar una rotación.

El bloque Motor terminado informa Verdadero cuando el motor o grupo de motores seleccionado ha completado su movimiento.

El bloque Motor terminado informa Falso cuando el motor o grupo de motores seleccionado no ha completado su movimiento.

El bloque Motor terminado se utiliza en bloques con espacios hexagonales (de seis lados).

El motor está girando#

El bloque El motor está girando se utiliza para informar si el motor o el grupo de motores seleccionado se está moviendo.

La imagen muestra un bloque etiquetado “¿ArmMotor está girando?” con un menú desplegable para seleccionar el motor/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_spinning_block.pngEl menú desplegable tiene seleccionado “ArmMotor”. Este bloque se utiliza para comprobar si “ArmMotor” u otro motor seleccionado está girando.

Seleccione qué motor o grupo de motores utilizar.

La imagen muestra un bloque etiquetado “¿ArmMotor está girando?” con un menú desplegable expandido. Este menú permite elegir entre “ArmMotor” y “PusherMotor”/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_spinning_motor.pngcon “ArmMotor” seleccionado. Este bloque se utiliza para comprobar si el motor seleccionado, en este caso “ArmMotor”, está girando.

El bloque El motor está girando informa Verdadero cuando el motor o el grupo de motores seleccionado se está moviendo.

El bloque El motor está girando informa Falso cuando el motor o el grupo de motores seleccionado no se está moviendo.

El bloque El motor está girando se utiliza en bloques con espacios hexagonales (de seis lados).

Posición del motor#

El bloque Posición del motor se utiliza para informar la posición de un motor o del primer motor de un grupo de motores.

La imagen muestra un bloque denominado “Posición del motor del brazo en grados”. Este bloque recupera la posición actual del motor del brazo y la muestra en grados. Los menús desplegables permiten seleccionar un motor diferente o cambiar la unidad de medida/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_position_block.pngactualmente, “Motor del brazo” y “grados” están seleccionados.

Seleccione qué motor o grupo de motores utilizar.

La imagen muestra el bloque “Posición del motor del brazo en grados” con un menú desplegable/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_position_motor.pngpermite seleccionar entre diferentes motores. El “motor del brazo” está seleccionado, con “motor de empuje” como otra opción disponible.

Seleccione cuándo utilizar la unidad, grados o vueltas.

La imagen muestra el bloque “Posición del motor del brazo en grados”, con un menú/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_position_unit.pngque muestra “grados” como unidad seleccionada. El menú desplegable ofrece una opción adicional para medir la posición en “vueltas”.

El bloque Posición del motor se utiliza en bloques con espacios circulares.

En este ejemplo, el brazo se elevará hasta que su posición sea mayor a 300 grados.

La imagen muestra una secuencia de codificación por bloques que comienza con un bloque “al iniciar”. El código está diseñado para elevar el ArmMotor y asegurar que no bloquee el sensor de visión de IA. La secuencia comienza indicando al ArmMotor que gire hacia arriba. Luego, el código espera hasta que la posición del ArmMotor, medida en grados, supere los 300. Una vez que el ArmMotor supera los 300 grados, se detiene, asegurando que se eleve/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_position_example.pnguna posición que no obstruya el sensor de visión de IA antes de detenerse.

Velocidad del motor#

El bloque Velocidad del motor se utiliza para informar la velocidad actual de un motor o del primer motor de un grupo de motores.

La imagen muestra un bloque que se utiliza para obtener la velocidad del ArmMotor en porcentaje. Este bloque forma parte de una interfaz de programación basada en bloques, donde se pueden seleccionar diferentes motores y medir su velocidad en porcentaje/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_position_block.pngEl ArmMotor se selecciona en un menú desplegable y la unidad de velocidad se establece en porcentaje.

Seleccione qué motor o grupo de motores utilizar.

La imagen muestra un bloque de una interfaz de codificación por bloques donde el usuario puede seleccionar un motor para obtener/_static/img/playgrounds/v5rc_high_stakes/sensing/motor_velocity_motor.pngvelocidad en porcentaje. El menú desplegable está expandido y muestra las opciones para seleccionar “ArmMotor” o “PusherMotor”. “ArmMotor” está seleccionado y la unidad de velocidad es porcentaje (“%”).

El bloque Velocidad del motor se utiliza en bloques con espacios circulares.

Detección de rotación#

Establecer posición de rotación#

El bloque Establecer posición de rotación se utiliza para establecer la posición de rotación actual del motor de empuje en un nuevo valor.

La imagen muestra un bloque de una interfaz de codificación basada en bloques que permite al usuario configurar la posición/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_set_position.pngun sensor o motor de rotación. El bloque está configurado para establecer “PusherRotation” en 0 grados.

En este ejemplo, la rotación que empujará el anillo fuera del brazo se establecerá en 0 grados.

La imagen muestra una secuencia de codificación por bloques donde el código está configurado para realizar dos acciones al iniciarse. Primero, gira el “Motor de Empuje” para bajarlo 270 grados. Después, el código establece la “Rotación de Empuje” en una nueva posición de 0 grados, convirtiendo la posición inferior del Empuje en el nuevo punto de referencia para la rotación/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_set_position_example.png0 grados.

Ángulo de rotación#

El bloque Ángulo de rotación se utiliza para informar el ángulo de rotación actual del motor de empuje en grados.

La imagen muestra un bloque de codificación que recupera el ángulo actual de "PusherRotation" en grados.

En este ejemplo, el empujador empujará el anillo fuera del brazo y luego informará el ángulo de rotación de los motores.

La imagen muestra una secuencia de bloques de código. El código comienza estableciendo una nueva posición de rotación de cero grados para el mecanismo de empuje inferior. El bloque “girar” ordena al “Motor de Empuje” que baje el mecanismo 270 grados. Después de esta acción, el bloque “imprimir” recupera e imprime el ángulo actual de “Rotación de Empuje” en grados, lo que proporciona información sobre la posición/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_angle_example.pngrotación exacta del Motor de Empuje.

Posición de rotación#

El bloque Posición de rotación se utiliza para informar la posición actual del motor de empuje.

La imagen muestra un bloque/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_position_block.pngcodificación denominado “Posición de PusherRotation en grados”. Este bloque se utiliza para recuperar la posición actual del componente “PusherRotation” y representarla en grados.

Seleccione la unidad en la que desea informar, grados o vueltas.

La imagen muestra un bloque de código donde se puede comprobar la posición del componente “PusherRotation” en grados o vueltas. El menú desplegable está configurado actualmente en grados, pero también ofrece la opción/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_position_unit.pngcambiar a vueltas como unidad de medida.

En este ejemplo, el empujador empujará el anillo fuera del brazo y luego informará la posición de los motores en grados.

La imagen muestra una secuencia de bloques de codificación donde el “Motor del Empujador” se ajusta para bajar 270 grados. Una vez que el motor gira a esta posición, el bloque imprime la posición de “Rotación del Empujador” en grados. El propósito de esta secuencia parece ser establecer la nueva posición de rotación de cero grados para el Empujador inferior, asegurando que la posición inicial se registre/_static/img/playgrounds/v5rc_high_stakes/sensing/rotation_position_example.pngprecisión para operaciones posteriores.

Detección GPS#

Posición GPS#

The GPS position block uses the GPS (Game Positioning System™) Sensor to report the positional offset of the robot’s turning reference point from the center of a field.

La imagen muestra un bloque de codificación denominado "Posición GPS X en mm". Este bloque se utiliza para obtener la coordenada X de la posición del sensor GPS en milímetros.

Seleccione el eje X o Y para informar.

La imagen muestra un bloque de codificación que permite al usuario seleccionar entre las coordenadas X e Y para obtener la posición/_static/img/playgrounds/v5rc_high_stakes/sensing/gps_position_axis.pngun sensor GPS. La opción seleccionada en el menú desplegable es “X”, pero también está disponible “Y”.

Seleccione en qué unidad desea informar el valor de desplazamiento, milímetros (MM) o pulgadas.

La imagen muestra un bloque de código que permite al usuario seleccionar entre las unidades de medida para la posición GPS, concretamente entre milímetros (mm) y pulgadas. La opción actual en el menú desplegable es “mm”, lo que indica que la posición se medirá en milímetros/_static/img/playgrounds/v5rc_high_stakes/sensing/gps_position_unit.png

rumbo GPS#

The GPS heading block uses the GPS (Game Positioning System™) Sensor to report the heading that a robot is currently facing based on a GPS Sensor’s readings from the VEX GPS Field Code.

El rumbo GPS informa un rango de 0,00 a 359,99 grados.

La imagen muestra un bloque de codificación que se utiliza para obtener la orientación GPS en grados. Este bloque permite al/_static/img/playgrounds/v5rc_high_stakes/sensing/gps_heading_block.pngseleccionar el sensor GPS y recuperar la información de orientación, que indica la dirección en grados hacia la que se orienta el robot u objeto.

Detección de visión por IA#

Tomar una instantánea#

El bloque Tomar instantánea capturará la imagen actual del sensor de visión de IA para procesarla y analizarla para las clasificaciones de IA.

Las clasificaciones de IA son objetivos móviles, anillos rojos y anillos azules.

El bloque dice: "Tomar una instantánea de AI Vision de las clasificaciones de IA". Implica tomar una instantánea con el sensor de AI Vision, específicamente enfocado en las clasificaciones de IA.

Todos los bloques subsiguientes del Sensor de Visión IA se basan en los datos de la instantánea más reciente. Para garantizar que trabaja con la información más actualizada, es importante tomar nuevas instantáneas periódicamente. Cada nueva instantánea actualiza los datos disponibles para todos los bloques del Sensor de Visión IA, lo que les permite procesar la información visual más reciente del entorno del sensor.

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En este ejemplo, se toma una instantánea y el ancho y la altura de la clasificación de IA más grande detectada se imprimen en la consola de impresión.

  • De forma predeterminada, los objetos se indexan por tamaño, y el objeto más grande se encuentra en el índice 1.

  • El sensor de visión IA selecciona automáticamente el objeto más grande (índice 1) después de una instantánea.

En la imagen, los bloques presentan un código que comienza al inicio del código, girando el motor del brazo 270 grados hacia arriba para evitar que el sensor de visión de IA se obstruya. Se toma una instantánea con el sensor de visión de IA enfocado en las clasificaciones/_static/img/playgrounds/v5rc_high_stakes/sensing/take_snapshot_example.pngIA, y el código comprueba si se detectó alguna clasificación de IA en la última instantánea. Si el sensor de visión de IA detecta un objeto, el código imprime el ancho del objeto más grande detectado.

La clasificación de IA es#

El bloque Clasificación de IA es informará si se ha detectado la clasificación de IA especificada.

El bloque en la imagen dice: "¿La clasificación de AI Vision es MobileGoal?". El bloque está estructurado para comprobar si el sensor de AI Vision ha detectado un objeto clasificado como "MobileGoal".

Elija qué clasificación de IA desea detectar en la última instantánea.

El bloque en la imagen dice: "¿La clasificación de IA de AI Vision es MobileGoal?". El menú desplegable junto a "MobileGoal" está abierto y muestra opciones para seleccionar "MobileGoal", "RedRing" o "BlueRing".

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En este ejemplo, después de tomar una instantánea, el código verificará si se detectó algún objetivo móvil.

Esta imagen muestra una secuencia de codificación donde el motor del brazo gira 270 grados para garantizar que el sensor de visión de IA no esté obstruido. El sensor de visión de IA toma una instantánea para comprobar si se ha detectado alguna clasificación de IA. Si se detecta algún objeto, la secuencia comprueba si está/_static/img/playgrounds/v5rc_high_stakes/sensing/ai_classification_is_example.pngcomo objetivo móvil.

Elemento de objeto de conjunto#

El bloque Establecer elemento de objeto establece el elemento de objeto (del objeto sobre el que desea obtener más información) entre los objetos detectados. De forma predeterminada, el elemento de objeto se establece en 1 al inicio de un proyecto.

La imagen muestra un bloque de codificación que establece el elemento de objeto del sistema AI Vision en 1.

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En este ejemplo, después de tomar una instantánea, el índice del objeto actual se establece en el segundo objeto más grande detectado y su altura se imprime en la Consola de impresión.

La imagen muestra una secuencia de codificación por bloques. El código comienza girando el motor del brazo 270 grados para que el sensor de visión de IA no se bloquee. A continuación, el sensor de visión de IA toma una instantánea de las clasificaciones de IA. El programa comprueba si se detectaron clasificaciones de IA en la última instantánea. Si existe un objeto, el programa asigna el elemento del objeto de visión de IA a 2, que representa el segundo objeto más grande. Finalmente, el programa imprime la altura/_static/img/playgrounds/v5rc_high_stakes/sensing/set_object_item_example.pngeste objeto y coloca el cursor en la siguiente fila.

Recuento de objetos#

El bloque Recuento de Objetos establecerá el elemento del objeto (del objeto sobre el que desea obtener más información) entre los objetos detectados. De forma predeterminada, el elemento Objeto se establece en 1 al inicio del proyecto.

La imagen muestra un bloque denominado "Conteo de objetos de AIVision". El menú desplegable al principio del bloque está configurado como "AIVision" y el bloque mostrará la cantidad de objetos detectados por el sensor de AI Vision.

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En este ejemplo, el código verificará si se detecta una clasificación de IA después de una instantánea y, si se detecta alguna, imprimirá cuántas clasificaciones de IA se detectaron.

La imagen muestra una secuencia de bloques para ejecutar un programa que interactúa con un sensor de visión artificial. El programa comienza girando el motor del brazo 270 grados hacia arriba para evitar la espera del sensor. Una vez que el motor completa/_static/img/playgrounds/v5rc_high_stakes/sensing/object_count_example.pngmovimiento, se toma una instantánea de las clasificaciones de IA. El programa comprueba si el sensor de visión detecta algún objeto. Si detecta un objeto, imprime el recuento de objetos detectados y mueve el cursor a la siguiente fila.

El objeto existe#

El bloque El objeto existe informará si el sensor de visión de IA detecta una clasificación de IA.

La imagen muestra un bloque que comprueba si existe un objeto detectado por el sensor de visión artificial. El bloque genera/_static/img/playgrounds/v5rc_high_stakes/sensing/object_exists_block.pngvalor booleano que indica si se detectó un objeto.

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En este ejemplo, el código verificará si se detecta una clasificación de IA después de una instantánea y, si se detecta alguna, imprimirá cuántas clasificaciones de IA se detectaron.

La imagen muestra una secuencia de bloques para ejecutar un programa que interactúa con un sensor de visión artificial. El programa comienza girando el motor del brazo 270 grados hacia arriba para evitar la espera del sensor. Una vez que el motor completa/_static/img/playgrounds/v5rc_high_stakes/sensing/object_count_example.pngmovimiento, se toma una instantánea de las clasificaciones de IA. El programa comprueba si el sensor de visión detecta algún objeto. Si detecta un objeto, imprime el recuento de objetos detectados y mueve el cursor a la siguiente fila.

Objeto de visión de IA#

El bloque Objeto de visión de IA informará sobre una clasificación de IA del último uso del bloque Tomar instantánea.

La imagen muestra un bloque que recupera el ancho de un objeto detectado por el sensor AI Vision. El bloque contiene menús desplegables para seleccionar el sensor AI Vision/_static/img/playgrounds/v5rc_high_stakes/sensing/object_property_block.pngespecificar el ancho como tipo de medición. Muestra el valor del ancho del objeto detectado.

Seleccione qué propiedad desea informar sobre la Clasificación de IA:

  • ancho: qué tan ancha es la clasificación de IA en píxeles.

  • altura: Qué altura tiene la clasificación de IA en píxeles.

  • centerX: La coordenada X en el centro exacto de la clasificación de IA.

  • centerY: La coordenada Y en el centro exacto de la clasificación de IA.

  • originX: La coordenada X en la esquina superior izquierda de la clasificación de IA.

  • originY: La coordenada Y en la esquina superior izquierda de la clasificación de IA.

La imagen muestra un conjunto de botones azules redondeados con las etiquetas “AIVision”, “Object” y “Width”, alineados horizontalmente en la parte superior. Debajo del botón “Width”, se despliega un menú desplegable con una lista/_static/img/playgrounds/v5rc_high_stakes/sensing/object_property_select.pngopciones que incluye “Width” (que está seleccionado), “Height”, “CenterX”, “CenterY”, “OrigenX” y “OrigenY”.

Antes de intentar acceder a los datos almacenados de la última instantánea, siempre debe comprobar si se detectaron las clasificaciones de IA. Para ello:

  1. Envuelve tus bloques AI Vision después de una Tomar instantánea con un bloque Si.

  2. Utilice el bloque ¿Existe el objeto? como condición para el bloque Si.

  3. Esto verificará si se detectó una clasificación de IA antes de intentar extraer datos de la última instantánea tomada.

En la imagen, los bloques presentan un código que comienza al inicio del código, girando el motor del brazo 270 grados hacia arriba para evitar que el sensor de visión de IA se obstruya. Se toma una instantánea con el sensor de visión de IA enfocado en las clasificaciones/_static/img/playgrounds/v5rc_high_stakes/sensing/take_snapshot_example.pngIA, y el código comprueba si se detectó alguna clasificación de IA en la última instantánea. Si el sensor de visión de IA detecta un objeto, el código imprime el ancho del objeto más grande detectado.