Sensor de visão de IA#
Introdução#
O Sensor de Visão com IA consegue detetar e rastrear objetos, cores e IDs do AprilTag. Isto permite que o robô analise o ambiente à sua volta, siga objetos e reaja com base nos dados visuais detetados.
Segue abaixo a lista dos blocos disponíveis:
Ações – Capturar os dados do sensor de visão com IA para uma assinatura selecionada.
capturar instantâneo – Captura dados para uma assinatura específica, como uma cor configurada, um objeto pré-treinado ou um ID AprilTag.
Definições – Escolha com que objeto interagir.
set AI Vision object item – Seleciona um objeto específico da lista de objetos detetados.
Valores – Aceder e utilizar os dados captados.
Objeto de visão de IA existe – Reporta se um objeto foi detetado.
O objeto de visão de IA é – Verifica se um objeto detetado corresponde a uma classificação específica.
O objeto de visão de IA é ID AprilTag – Verifica se um ID AprilTag detetado corresponde a um ID específico.
Contagem de objetos de visão de IA – Reporta o número de objetos detetados.
Propriedade do objeto AI Vision – Reporta detalhes como:
centerX & centerY – Coordenadas da posição central na vista do sensor.
ângulo – Orientação do objeto.
originX & originY – Coordenadas da posição do canto superior esquerdo na vista do sensor.
tagID – Número de identificação de um ID AprilTag.
pontuação – Quão confiante está o modelo na sua identificação em percentagem.
Ações#
tirar uma foto#
O bloco de pilha take snapshot filtra os dados do quadro do sensor de visão de IA para uma única assinatura — uma descrição guardada de algo que o sensor pode reconhecer, como um objeto pré-treinado, um ID AprilTag ou uma cor ou código de cor configurado.
As cores e os seus códigos devem ser configurados primeiro no utilitário AI Vision antes de serem utilizados com este bloco.
O conjunto de dados armazena os objetos ordenados do maior para o mais pequeno por largura, começando no índice 0. As propriedades de cada objeto podem ser acedidas utilizando o bloco Propriedade do objeto AI Vision. Um conjunto de dados vazio é reportado se não for detetado nenhum objeto correspondente.
tirar instantâneo de [AIVision1 v] de [SELECT_A_SIG v]
Parâmetro |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
assinatura |
Filtra o conjunto de dados para incluir apenas os dados da assinatura fornecida. As subscrições disponíveis são:
|
Nota: Para que as opções de ID do AprilTag ou Classificação por IA apareçam, a deteção das mesmas deve estar ativada no Utilitário de Visão por IA.
Exemplo
quando iniciar
[Drive forward if an AprilTag ID is detected.]
para sempre
tirar instantâneo de [AIVision1 v] de [AprilTag IDs v]
se <objeto de [AIVIsion1 v] existe?> então
conduzir [frente v] por [10] [mm v] ▶
Classificações de IA#
O sensor de visão com IA pode detetar diferentes objetos sob determinadas classificações de IA. Dependendo do modelo de classificação de IA selecionado ao configurar o sensor de visão com IA na janela Dispositivos, serão detetados diferentes objetos. Os modelos atualmente disponíveis são:
Objetos da sala de aula
Bola Azul
Bola Verde
Bola Vermelha
Anel Azul
Anel Verde
Anel Vermelho
Cubo Azul
Cubo Verde
Cubo Vermelho
Contra-ataque à Competição de Robótica VEX V5
Bloco Azul
Bloco Vermelho
Competição de Robótica VEX V5: Grandes Apostas
MobileGoal
Anel Vermelho
Anel Azul
VEX V5 Robotics Competition Override
Pino vermelhoAzul
Pino AzulAmarelo
Pino vermelho/amarelo
Alfinete amarelo
Taça
Assinaturas de cores#
Uma assinatura de cor é uma cor única que o sensor de visão com IA consegue reconhecer. Estas assinaturas permitem que o sensor detete e rastreie objetos com base na sua cor. Uma vez configurada, a assinatura de cor permite que o sensor identifique objetos com essa cor específica no seu campo de visão.
As assinaturas de cor são utilizadas no bloco take snapshot para processar e detetar objetos coloridos em tempo real. Podem ser configuradas até 7 assinaturas de cor de cada vez.

Exemplo
quando iniciar
[Display if any objects matching the RED_BOX signature is detected.]
para sempre
definir cursor para linha [1] coluna [1] na tela
limpar linha [1] na tela
[Change the signature to any configured Color Signature.]
tirar instantâneo de [AIVision1 v] de [RED_BOX v]
se <objeto de [AIVision1 v] existe?> então
imprimir [Color detected!] na tela ▶
Códigos de cores#
Um código de cores é um padrão estruturado composto por 2 a 4 assinaturas de cores organizadas numa ordem específica. Estes códigos permitem que o sensor de visão com inteligência artificial reconheça padrões de cor predefinidos.
Os códigos de cores são particularmente úteis para identificar objetos complexos, alinhar com elementos do jogo ou criar marcadores únicos para navegação autónoma. É possível configurar até 8 códigos de cor em simultâneo.

Exemplo
quando iniciar
[Display if any objects matching the RED_BLUE code is detected.]
para sempre
definir cursor para linha [1] coluna [1] na tela
limpar linha [1] na tela
[Change the signature to any configured Color Code.]
tirar instantâneo de [AIVision1 v] de [RED_BLUE v]
se <objeto de [AIVision1 v] existe?> então
imprimir [Code detected!] na tela ▶
Configurações#
definir item de objeto de visão de IA#
O bloco de pilha set AI Vision object item define qual o item do conjunto de dados que deve ser utilizado.
definir item de objeto de [AIVision1 v] para (1)
Parâmetros |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
artigo |
O número do item no conjunto de dados a utilizar. |
Exemplo
quando iniciar
[Display the largest detected AprilTag ID.]
para sempre
tirar instantâneo de [AIVision1 v] de [AprilTag IDs v]
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
se <objeto de [AIVision1 v] existe?> então
definir item de objeto de [AIVision1 v] para (contagem de objetos de [AIVision1 v])
imprimir (objeto de [AIVision1 v] [tagID v]) na tela ▶
Valores#
O objeto IA Vision existe.#
O bloco booleano Objeto de Visão de IA existe informa se foi detetado algum objeto no conjunto de dados.
Verdadeiro – O conjunto de dados inclui um objeto detetado.
Falso – O conjunto de dados não inclui nenhum objeto detetado.
<objeto de [AIVision1 v] existe?>
Parâmetros |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
Exemplo
quando iniciar
[Drive forward if an object is detected.]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
conduzir [frente v] por [10] [mm v] ▶
O objeto de Visão de IA é#
O bloco booleano AI Vision object is informa se um objeto detetado corresponde a uma classificação específica.
Verdadeiro – O item no conjunto de dados é o objeto específico.
Falso – O item no conjunto de dados não é o objeto específico.
<objeto de [AIVision1 v] é [BlueBall v]?>
Parâmetro |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
objeto |
Qual Classificação de IA comparar o item. |
Exemplo
quando iniciar
[Display if a Blue Cube is detected.]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
se <objeto de [AIVision1 v] existe?> então
se <objeto de [AIVision1 v] é [BlueCube v]?> então
imprimir [Cube detected!] na tela ▶
aguardar [0.5] segundos
O objeto AI Vision é o ID AprilTag.#
O bloco booleano Objeto de Visão de IA é o ID do AprilTag informa se um ID do AprilTag detetado corresponde a um ID específico.
Verdadeiro – O ID do AprilTag é o número.
Falso – O ID do AprilTag não é um número.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parâmetros |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
Número de identificação AprilTag |
O número a comparar com o número de identificação AprilTag detectado. |
Exemplo:
quando iniciar
[Report if AprilTag ID 3 is detected.]
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
tirar instantâneo de [AIVision1 v] de [AprilTag IDs v]
se <objeto de [AIVision1 v] existe?> então
se <[AIVision1 v] object is AprilTag ID [3] ?> então
imprimir [That is 3!] na tela ▶
senão
imprimir [That isn't 3!] na tela ▶
fim
fim
aguardar [0.1] segundos
contagem de objetos da Visão com IA#
O bloco de relatório Contagem de objetos de visão com IA reporta o número de objetos detetados no conjunto de dados como um número inteiro.
(contagem de objetos de [AIVision1 v])
Parâmetros |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
Exemplo
quando iniciar
[Display the total amount of cubes, rings, and balls.]
para sempre
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
imprimir (contagem de objetos de [AIVision1 v]) na tela ▶
fim
aguardar [0.5] segundos
propriedade de objeto de Visão de IA#
Existem nove propriedades que são incluídas em cada objeto (apresentado abaixo) armazenado após a utilização do bloco take snapshot.
(objeto de [AIVision1 v] [largura v])
Todos os valores das propriedades, exceto tagID e score, descrevem a posição e o tamanho do objeto detetado na vista do sensor de vista de IA no momento em que o bloco take snapshot foi utilizado. Estes valores são medidos em pixéis, com base na resolução de 320 por 240 pixéis do sensor.
Parâmetro |
Descrição |
|---|---|
dispositivo |
Que sensor de visão com IA usar? |
propriedade |
Qual a propriedade do objeto detetado a utilizar: |
largura#
A propriedade largura indica a largura do objeto detetado em pixéis, como por exemplo um número inteiro de 1 a 320.
(objeto de [AIVision1 v] [largura v])
Exemplo
quando iniciar
[Drive towards an object until its width is larger than 100 pixels.]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [largura v]) [math_less_than v] [100]> então
conduzir [frente v]
senão
parar de conduzir
fim
altura#
A propriedade altura indica a altura do objeto detetado em pixéis, como por exemplo um número inteiro de 1 a 240.
(objeto de [AIVision1 v] [altura v])
Exemplo
quando iniciar
[Drive towards an object until its height is larger than 100 pixels.]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [altura v]) [math_less_than v] [100]> então
conduzir [frente v]
senão
parar de conduzir
fim
centroX#
A propriedade centerX indica a coordenada x do centro do objeto detetado em pixéis, como um número inteiro de 0 a 320.
(objeto de [AIVision1 v] [centroX v])
Exemplo
quando iniciar
[Turn slowly until an object is centered in front of the robot.]
definir velocidade de giro para [30] [% v]
virar [direita v]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <[140] [math_less_than v] (objeto de [AIVision1 v] [centroX v]) [math_less_than v] [180]> então
parar de conduzir
centroY#
A propriedade centerY reporta a coordenada y do centro do objeto detetado em pixéis, como um número inteiro de 0 a 240.
(objeto de [AIVision1 v] [centroY v])
Exemplo
quando iniciar
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
para sempre
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [centroY v]) [math_less_than v] [140]> então
conduzir [frente v]
senão
parar de conduzir
fim
ângulo#
A propriedade ângulo indica a orientação do código de cor ou do ID AprilTag detetado como um número inteiro em graus, de 0 a 359.
(objeto de [AIVision1 v] [ângulo v])
Exemplo
quando iniciar
[Slide left or right depending on how the Color Code is rotated.]
para sempre
tirar instantâneo de [AIVision1 v] de [RED_BLUE v]
se <objeto de [AIVision1 v] existe?> então
se <[50] [math_less_than v] (objeto de [AIVision1 v] [ângulo v]) [math_less_than v] [100]> então
conduzir [direita v]
senão se <[270] [math_less_than v] (objeto de [AIVision1 v] [ângulo v]) [math_less_than v] [330]> então
conduzir [esquerda v]
senão
parar de conduzir
fim
senão
parar de conduzir
origemX#
A propriedade originX reporta a coordenada x do canto superior esquerdo da caixa delimitadora do objeto detetado, em pixéis, como um número inteiro de 0 a 320.
(objeto de [AIVision1 v] [origemX v])
Exemplo
quando iniciar
[Display if an object is to the left or the right.]
para sempre
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [origemX v]) [math_less_than v] [160]> então
imprimir [To the left!] na tela ▶
senão
imprimir [To the right!] na tela ▶
fim
aguardar [0.5] segundos
origemY#
A propriedade originY reporta a coordenada y do canto superior esquerdo da caixa delimitadora do objeto detetado, em pixéis, como um número inteiro de 0 a 240.
(objeto de [AIVision1 v] [origemY v])
Exemplo
quando iniciar
[Display if an object is close or far from the robot.]
para sempre
limpar linha [1] na tela
definir cursor para linha [1] coluna [1] na tela
tirar instantâneo de [AIVision1 v] de [Classificações de IA v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [origemY v]) [math_less_than v] [80]> então
imprimir [Far!] na tela ▶
senão
imprimir [Close!] na tela ▶
fim
aguardar [0.5] segundos
ID da etiqueta#
A propriedade tagID reporta o número de identificação do AprilTag ID detetado como um número inteiro.
(objeto de [AIVision1 v] [tagID v])
Exemplo
quando iniciar
[Drive forward when AprilTag ID 0 is detected.]
para sempre
tirar instantâneo de [AIVision1 v] de [AprilTag IDs v]
se <objeto de [AIVision1 v] existe?> então
se <(objeto de [AIVision1 v] [tagID v]) [math_equal v] [0]> então
conduzir [frente v]
senão
parar de conduzir
fim
aguardar [0.5] segundos
pontuação#
A propriedade score indica o nível de confiança do modelo na classificação da IA detetada, numa percentagem que varia entre 70% a 100%.
Uma pontuação mais baixa significa que o sensor tem menos confiança no objeto detetado, enquanto uma pontuação mais elevada significa que o sensor tem mais confiança.
(objeto de [AIVision1 v] [pontuação v])