AI Vision Sensor#
Introduction#
The AI Vision Sensor can detect and track objects, colors, and AprilTags. This allows the robot to analyze its surroundings, follow objects, and react based on detected visual data.
Below is a list of available blocks:
Actions – Capture data from the AI Vision Sensor for a selected signature.
take snapshot – Captures data for a specific object type, such as colors, pre-trained objects, or AprilTags.
Settings – Choose which object to interact with.
set AI Vision object item – Selects a specific object from the detected object list.
Values – Access and use the captured data.
AI Vision object exists? – Returns whether an object is detected.
AI Vision object is? – Checks if a detected object matches a specific classification.
AI Vision object is AprilTag ID? – Checks if a detected AprilTag matches a specific ID.
AI Vision object count – Returns the number of detected objects.
AI Vision object property – Returns details such as:
centerX & centerY – Center position coordinates in the sensor’s view.
angle – Orientation of the object.
originX & originY – Top-left corner position coordinates in the sensor’s view.
tagID – Identification number of an AprilTag.
score – How confident the model is in its identification as a percentage.
Actions#
take snapshot#
The take snapshot block filters data from the AI Vision Sensor frame. The AI Vision Sensor can detect signatures that include pre-trained objects, AprilTags, or configured colors and color codes.
Colors and color codes must be configured first in the AI Vision Utility before they can be used with this block.
The dataset stores objects ordered from largest to smallest by width, starting at index 0. Each object’s properties can be accessed using AI Vision object property block. An empty dataset is returned if no matching objects are detected.
[AIVision 1 v]una instantánea de [SELECT_A_SIG v]
Parameter |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
signature |
Filters the dataset to only include data of the given signature. Available signatures are:
|
Note: For AprilTag or AI Classification options to appear, their detection must be enabled in the AI Vision Utility.
Example
cuando empezó
[Drive forward if an AprilTag is detected.]
para siempre
[AIVision 1 v]una instantánea de [AprilTags v]
si <¿Existe [AIVIsion1 v] objeto?> entonces
unidad [adelante v] para [10] [mm v] ▶
AI Classifications#
The AI Vision Sensor can detect different objects under certain AI Classifications. Depending on the AI Classification model selected when configuring the AI Vision Sensor in the Devices window, different objects will be detected. The currently available models are:
Classroom Objects
BlueBall
GreenBall
RedBall
BlueRing
GreenRing
RedRing
BlueCube
GreenCube
RedCube
V5RC Push Back
BlueBlock
RedBlock
V5RC High Stakes
MobileGoal
RedRing
BlueRing
Color Signatures#
A Color Signature is a unique color that the AI Vision Sensor can recognize. These signatures allow the sensor to detect and track objects based on their color. Once a Color Signature is configured, the sensor can identify objects with that specific color in its field of view.
Color Signatures are used in the take snapshot block to process and detect colored objects in real-time. Up to 7 Color Signatures can be configured at a time.

Example
cuando empezó
[Display if any objects matching the RED_BOX signature is detected.]
para siempre
Coloque el cursor en la fila [1] columna [1] en la pantalla
Limpiar la fila [1] de la pantalla
[Change the signature to any configured Color Signature.]
[AIVision 1 v]una instantánea de [RED_BOX v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir [Color detected!] en la pantalla ▶
Color Codes#
A Color Code is a structured pattern made up of 2 to 4 Color Signatures arranged in a specific order. These codes allow the AI Vision Sensor to recognize predefined patterns of colors.
Color Codes are particularly useful for identifying complex objects, aligning with game elements, or creating unique markers for autonomous navigation. Up to 8 Color Codes can be configured at a time.

Example
cuando empezó
[Display if any objects matching the RED_BLUE code is detected.]
para siempre
Coloque el cursor en la fila [1] columna [1] en la pantalla
Limpiar la fila [1] de la pantalla
[Change the signature to any configured Color Code.]
[AIVision 1 v]una instantánea de [RED_BLUE v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir [Code detected!] en la pantalla ▶
Settings#
set AI Vision object item#
The set AI Vision object item block sets which item in the dataset to use.
Establecer el elemento de objeto [AIVision 1 v] en (1)
Parameters |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
item |
The number of the item in the dataset to use. |
Example
cuando empezó
[Display the largest detected AprilTag ID.]
para siempre
[AIVision 1 v]una instantánea de [AprilTags v]
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe [AIVision 1 v] objeto?> entonces
Establecer el elemento de objeto [AIVision 1 v] en ([AIVision1 v]object count)
imprimir ([AIVision 1 v] objeto [ID de etiqueta v]) en la pantalla ▶
Values#
AI Vision object exists?#
The AI Vision object exists block returns a Boolean indicating whether any object is detected in the dataset.
True – The dataset includes a detected object.
False – The dataset does not include any detected objects.
<¿Existe [AIVision 1 v] objeto?>
Parameters |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
Example
cuando empezó
[Drive forward if an object is detected.]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
unidad [adelante v] para [10] [mm v] ▶
AI Vision object is?#
The AI Vision object is? block returns a Boolean indicating whether a detected object matches a specific classification.
True – The item in the dataset is the specific object.
False – The item in the dataset is not the specific object.
<[AIVision1 v] object is [BlueBall v]?>
Parameter |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
object |
Which AI Classification to compare the item to. |
Example
cuando empezó
[Display if a Blue Cube is detected.]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[AIVision1 v] object is [BlueCube v]?> entonces
imprimir [Cube detected!] en la pantalla ▶
esperar [0.5] segundos
AI Vision object is AprilTag ID?#
The AI Vision object is AprilTag ID? block returns a Boolean indicating whether a detected AprilTag matches a specific ID.
True – The AprilTag ID is the number.
False – The AprilTag ID is not the number.
<[AIVision 1 v] objeto es AprilTag [1]?>
Parameters |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
AprilTag number |
The number to compare against the detected AprilTag’s ID number. |
Example:
cuando empezó
[Report if AprilTag ID 3 is detected.]
para siempre
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AIVision 1 v]una instantánea de [AprilTags v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[AIVision 1 v] objeto es AprilTag [3]?> entonces
imprimir [That is 3!] en la pantalla ▶
demás
imprimir [That isn't 3!] en la pantalla ▶
fin
fin
esperar [0.1] segundos
AI Vision object count#
The AI Vision object count block returns the number of detected objects in the dataset as an integer.
([AIVision 1 v] recuento de objetos)
Parameters |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
Example
cuando empezó
[Display the total amount of cubes, rings, and balls.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir ([AIVision 1 v] recuento de objetos) en la pantalla ▶
fin
esperar [0.5] segundos
AI Vision object property#
There are nine properties that are included with each object (shown below) stored after the take snapshot block is used.
([AIVision 1 v] objeto [amplitud v])
Some property values are based off of the detected object’s position in the AI Vision Sensor’s view at the time that the take snapshot block was used. The AI Vision Sensor has a resolution of 320 by 240 pixels.
Parameter |
Description |
|---|---|
device |
Which AI Vision Sensor to use, configured in the Devices window. |
property |
Which property of the detected object to use: |
width#
width returns the width of the detected object in pixels as an integer from 1 to 320.
([AIVision 1 v] objeto [amplitud v])
Example
cuando empezó
[Drive towards an object until its width is larger than 100 pixels.]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [amplitud v]) [math_less_than v] [100]> entonces
unidad [adelante v]
demás
deja de conducir
fin
height#
height returns the height of the detected object in pixels as an integer from 1 to 240.
([AIVision 1 v] objeto [altura v])
Example
cuando empezó
[Drive towards an object until its height is larger than 100 pixels.]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [altura v]) [math_less_than v] [100]> entonces
unidad [adelante v]
demás
deja de conducir
fin
centerX#
centerX returns the x-coordinate of the center of the detected object in pixels as an integer from 0 to 320.
([AIVision 1 v] objeto [centroX v])
Example
cuando empezó
[Turn slowly until an object is centered in front of the robot.]
establecer la velocidad de giro a [30] [% v]
turno [derecha v]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[140] [math_less_than v] ([AIVision 1 v] objeto [centroX v]) [math_less_than v] [180]> entonces
deja de conducir
centerY#
centerY returns the y-coordinate of the center of the detected object in pixels as an integer from 0 to 240.
([AIVision 1 v] objeto [centroY v])
Example
cuando empezó
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
para siempre
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [centroY v]) [math_less_than v] [140]> entonces
unidad [adelante v]
demás
deja de conducir
fin
angle#
angle returns the orientation of the detected Color Code or AprilTag as an integer in degrees from 0 to 359.
([AIVision 1 v] objeto [ángulo v])
Example
cuando empezó
[Slide left or right depending on how the Color Code is rotated.]
para siempre
[AIVision 1 v]una instantánea de [RED_BLUE v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[50] [math_less_than v] ([AIVision 1 v] objeto [ángulo v]) [math_less_than v] [100]> entonces
unidad [derecha v]
de lo contrario si <[270] [math_less_than v] ([AIVision 1 v] objeto [ángulo v]) [math_less_than v] [330]> entonces
unidad [izquierda v]
demás
deja de conducir
fin
demás
deja de conducir
originX#
originX returns the x-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 320.
([AIVision 1 v] objeto [origenX v])
Example
cuando empezó
[Display if an object is to the left or the right.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [origenX v]) [math_less_than v] [160]> entonces
imprimir [To the left!] en la pantalla ▶
demás
imprimir [To the right!] en la pantalla ▶
fin
esperar [0.5] segundos
originY#
originY returns the y-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 240.
([AIVision 1 v] objeto [origenY v])
Example
cuando empezó
[Display if an object is close or far from the robot.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AIVision 1 v]una instantánea de [AI Classifications v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [origenY v]) [math_less_than v] [80]> entonces
imprimir [Far!] en la pantalla ▶
demás
imprimir [Close!] en la pantalla ▶
fin
esperar [0.5] segundos
tagID#
tagID returns the identification number of the detected AprilTag as an integer.
([AIVision 1 v] objeto [ID de etiqueta v])
Example
cuando empezó
[Drive forward when AprilTag ID 0 is detected.]
para siempre
[AIVision 1 v]una instantánea de [AprilTags v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [ID de etiqueta v]) [math_equal v] [0]> entonces
unidad [adelante v]
demás
deja de conducir
fin
esperar [0.5] segundos
score#
score returns how confident the model is in the detected AI Classification as a percentage from 70% to 100%.
([AIVision 1 v] objeto [score v])