Vision IA#
Introduction#
Le capteur de vision IA du robot de codage VEX AIM détecte et suit les objets, les couleurs et les identifiants AprilTag. Cela permet au robot d’analyser son environnement, de suivre les objets et de réagir en fonction des données visuelles détectées.
Le capteur de vision IA possède une résolution de 320 × 240 pixels. L’origine (0, 0) est située dans le coin supérieur gauche, ce qui place le centre du capteur à (160, 120), comme illustré dans le schéma ci-dessous :

Vous trouverez ci-dessous la liste de tous les blocs :
Actions — Contrôlez le flux AI Vision et capturez les données des objets.
Visionneuse AI Vision à l’écran — Active ou désactive le flux AI Vision en direct sur l’écran du robot.
obtenir les données de l’objet — Capture les données pour une signature spécifique, telle qu’une couleur configurée, un objet pré-entraîné ou un ID AprilTag.
Paramètres — Ajustez les objets détectés auxquels on accède.
set AI Vision object item — Sélectionne un objet spécifique dans la liste des objets détectés.
Valeurs — Renvoie la présence, la classification et les propriétés de l’objet.
has object — Vérifie si le robot tient un objet détecté.
L’objet AI Vision existe — Indique si un objet est détecté.
L’objet AI Vision est — Vérifie si un objet détecté correspond à une classification spécifique.
L’objet AI Vision est l’ID AprilTag — Vérifie si un ID AprilTag détecté correspond à un ID spécifique.
Nombre d’objets AI Vision — Indique le nombre d’objets détectés.
Propriété de l’objet Vision IA — Fournit des détails tels que :
centerX & centerY — Coordonnées de position centrale dans le champ de vision du capteur.
originX & originY — Coordonnées de position du coin supérieur gauche dans la vue du capteur.
rotation — Orientation de l’objet.
bearing — Angle horizontal par rapport à l’avant du robot.
tagID — Numéro d’identification d’un identifiant AprilTag.
Actes#
Visionneuse AI Vision à l’écran#
Le bloc Visionneuse AI Vision à l’écran permet d’activer ou de désactiver l’affichage en direct du flux AI Vision sur l’écran du robot. Lorsqu’il est activé, l’écran affiche les données des capteurs en temps réel, empêchant l’affichage d’autres images ou textes. Pour afficher d’autres contenus, utilisez ce bloc pour masquer le flux.
[afficher v] Visionneuse de la caméra IA à l'écran
Paramètres |
Description |
|---|---|
statut |
Contrôle l’affichage du flux de données sur l’écran du robot : show affiche le flux de données, tandis que hide supprime le flux de données de l’écran. |
Exemple
au démarrage
[View the AI Vision Sensor's feed for five seconds.]
[afficher v] Visionneuse de la caméra IA à l'écran
attendre [5] secondes
[masquer v] Visionneuse de la caméra IA à l'écran
obtenir les données de l’objet#
Le bloc de pile get object data filtre les données de la trame du capteur de vision AI pour obtenir une seule signature — une description enregistrée de quelque chose que le capteur peut reconnaître, comme un objet pré-entraîné, un ID AprilTag ou une couleur ou un code couleur configuré.
Les couleurs et les codes de couleur doivent d’abord être configurés dans l’utilitaire AI Vision avant de pouvoir être utilisés avec ce bloc.
L’ensemble de données stocke les objets classés par largeur décroissante, à partir de l’index 0. Les propriétés de chaque objet sont accessibles via le bloc AI Vision object property. Un ensemble de données vide est signalé si aucun objet correspondant n’est détecté.
obtenir [ballon de sport v] des données de la caméra IA
Paramètre |
Description |
|---|---|
signature |
Filtre l’ensemble de données pour n’inclure que les données de la signature spécifiée. Les signatures disponibles sont :
|
Exemple
au démarrage
[Move forward if a sports ball is detected.]
indéfiniment
obtenir [ballon de sport v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
se déplacer [avant v] sur [10] [mm v] ▶
Signatures de couleur#
Une signature de couleur est une couleur unique que le capteur de vision IA peut reconnaître. Ces signatures permettent au capteur de détecter et de suivre les objets en fonction de leur couleur. Une fois la signature de couleur configurée dans l’utilitaire de vision IA, le capteur peut identifier les objets de cette couleur spécifique dans son champ de vision.
Les signatures de couleur sont utilisées dans le bloc get object data pour traiter et détecter les objets colorés en temps réel.

Exemple
au démarrage
[Display if any objects matching the Red_Box signature is detected.]
indéfiniment
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
effacer la ligne [1] sur l'écran
[Change the signature to any configured Color Signature.]
obtenir [Red_Box v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
afficher [Color signature detected!] sur l'écran ▶
Codes de couleur#
Un code couleur est un motif structuré composé de 2 à 4 signatures de couleur agencées dans un ordre précis. Une fois configuré dans l’utilitaire de vision par IA, le capteur peut reconnaître des motifs de couleurs prédéfinis.
Les codes couleur sont particulièrement utiles pour identifier des objets complexes, les aligner avec des éléments de jeu ou créer des marqueurs uniques pour la navigation autonome.

Exemple
au démarrage
[Display if any objects matching the BlueRed code is detected.]
indéfiniment
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
effacer la ligne [1] sur l'écran
[Change the signature to any configured Color Code.]
obtenir [BlueRed v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
afficher [Color code detected!] sur l'écran ▶
Paramètres#
élément d’objet AI Vision#
Le bloc de pile set AI Vision object item définit quel élément du jeu de données utiliser.
définir l'objet vu par la caméra IA sur (1)
Paramètres |
Description |
|---|---|
article |
Le numéro de l’élément à utiliser dans l’ensemble de données. |
Exemple
au démarrage
[Display the width of the smallest detected object.]
indéfiniment
obtenir [toutes les cargaisons v] des données de la caméra IA
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
définir l'objet vu par la caméra IA sur (Objet compté par la caméra IA)
afficher ([largeur v] de l'objet vu par la caméra IA) sur l'écran ▶
Valeurs#
a un objet#
Le bloc booléen has object indique si le robot a actuellement un objet détecté contre son Kicker.
Vrai — Le robot possède l’objet.
Faux — Le robot ne possède pas l’objet.
<voit [ballon de sport v] ? :: custom-ai-vision>
Paramètre |
Description |
|---|---|
objet |
Objet à détecter face au lanceur du robot :
|
Exemple
au démarrage
[Kick when the robot has a sports ball.]
indéfiniment
si <voit [ballon de sport v] ? :: custom-ai-vision> alors
tir [moyen v]
L’objet AI Vision existe#
Le bloc booléen AI Vision object exists indique si un objet est détecté dans l’ensemble de données.
Vrai — L’ensemble de données comprend un objet détecté.
Faux — Aucun objet n’a été détecté.
<L'objet vu par la caméra IA Vision existe-t-il ?>
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Move forward if a sports ball is detected.]
indéfiniment
obtenir [ballon de sport v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
se déplacer [avant v] sur [10] [mm v] ▶
L’objet AI Vision est#
L’objet AI Vision est un bloc booléen indiquant si un objet détecté correspond à une classification spécifique.
Vrai — L’élément du jeu de données est l’objet spécifique.
Faux — L’élément du jeu de données n’est pas l’objet spécifique.
<L'objet vu par la caméra IA est [ballon de sport v]?>
Paramètre |
Description |
|---|---|
objet |
À quel objet comparer l’élément ?
|
Exemple
au démarrage
[Display if a sports ball is detected.]
indéfiniment
obtenir [toutes les cargaisons v] des données de la caméra IA
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <L'objet vu par la caméra IA est [ballon de sport v]?> alors
afficher [Sports ball detected!] sur l'écran ▶
attendre [0.5] secondes
L’objet AI Vision est AprilTag ID#
L’objet AI Vision est un ID AprilTag (bloc booléen) indique si un ID AprilTag détecté correspond à un ID spécifique.
Vrai — L’identifiant AprilTag est le numéro.
Faux — L’identifiant AprilTag n’est pas le numéro.
<AI Vision object is AprilTag ID [1] ?>
Paramètres |
Description |
|---|---|
Identifiant AprilTag |
Le numéro à comparer avec le numéro d’identification AprilTag détecté. |
nombre d’objets AI Vision#
Le bloc de rapport comptage d’objets AI Vision indique le nombre d’objets détectés dans l’ensemble de données sous forme de nombre entier.
Objet compté par la caméra IA
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Display the amount of sports balls and barrels.]
indéfiniment
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [toutes les cargaisons v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
afficher (Objet compté par la caméra IA) sur l'écran ▶
fin
attendre [0.5] secondes
propriété d’objet AI Vision#
Il existe neuf propriétés incluses avec chaque objet (indiquées ci-dessous) stockées après l’utilisation du bloc get object data.
[largeur v] de l'objet vu par la caméra IA
Toutes les valeurs de propriétés, à l’exception de tagID, décrivent la position, la taille, l’orientation ou le relèvement de l’objet détecté au moment où le bloc get object data a été utilisé. Ces valeurs sont exprimées en pixels ou en degrés, selon la résolution du capteur (320 x 240 pixels).

Paramètre |
Description |
|---|---|
propriété |
Which property of the detected object to use: |
largeur#
La propriété largeur indique la largeur de l’objet détecté en pixels sous forme d’un nombre entier compris entre 1 et 320.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[largeur v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Move towards a blue barrel until its width is larger than 100 pixels.]
indéfiniment
obtenir [baril bleu v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([largeur v] de l'objet vu par la caméra IA) [math_less_than v] [100]> alors
se déplacer [avant v]
fin
sinon
arrêter tout mouvement
hauteur#
La propriété hauteur indique la hauteur de l’objet détecté en pixels sous forme d’un nombre entier compris entre 1 et 240.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[hauteur v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Move towards a blue barrel until its height is larger than 100 pixels.]
indéfiniment
obtenir [baril bleu v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([hauteur v] de l'objet vu par la caméra IA) [math_less_than v] [100]> alors
se déplacer [avant v]
fin
sinon
arrêter tout mouvement
centreX#
La propriété centerX indique la coordonnée x du centre de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 320.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[centreX v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Turn slowly until a blue barrel is centered in front of the robot.]
définir la vitesse de rotation à [30]%
pivoter [droite v]
indéfiniment
obtenir [baril bleu v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <[140] [math_less_than v] ([centreX v] de l'objet vu par la caméra IA) [math_less_than v] [180]> alors
arrêter tout mouvement
centreY#
La propriété centerY indique la coordonnée y du centre de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 240.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[centreY v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
indéfiniment
obtenir [baril bleu v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([centreY v] de l'objet vu par la caméra IA) [math_less_than v] [140]> alors
se déplacer [avant v]
fin
sinon
arrêter tout mouvement
originX#
La propriété originX indique la coordonnée x du coin supérieur gauche de la boîte englobante de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 320.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[origineX v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Display if an orange barrel is to the left or the right.]
indéfiniment
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [baril orange v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([origineX v] de l'objet vu par la caméra IA) [math_less_than v] [160]> alors
afficher [To the left!] sur l'écran ▶
sinon
afficher [To the right!] sur l'écran ▶
fin
attendre [0.5] secondes
origine#
La propriété originY indique la coordonnée y du coin supérieur gauche de la boîte englobante de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 240.
Remarque : Les valeurs des pixels sont relatives au système de coordonnées du capteur. Voir le diagramme dans l’introduction pour référence.
[origineY v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Display if an orange barrel is close or far from the robot.]
indéfiniment
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [baril orange v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([origineY v] de l'objet vu par la caméra IA) [math_less_than v] [80]> alors
afficher [Far!] sur l'écran ▶
sinon
afficher [Close!] sur l'écran ▶
fin
attendre [0.5] secondes
rotation#
La propriété rotation indique l’orientation de l’identifiant AprilTag ou du code couleur détecté sous forme d’un nombre entier en degrés compris entre 0 et 359.
[rotation v] de l'objet vu par la caméra IA

Exemple
au démarrage
[Slide left or right depending on how the Color Code is rotated.]
indéfiniment
obtenir [Red_Blue v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <[50] [math_less_than v] ([rotation v] de l'objet vu par la caméra IA) [math_less_than v] [100]> alors
se déplacer [droite v]
sinon si <[270] [math_less_than v] ([rotation v] de l'objet vu par la caméra IA) [math_less_than v] [330]> alors
se déplacer [à gauche v]
sinon
arrêter tout mouvement
fin
sinon
arrêter tout mouvement
palier#
La propriété orientation indique la position d’un objet à gauche ou à droite du centre du champ de vision du capteur de vision IA, exprimée en degrés. Une valeur de 0 signifie que l’objet est centré ; les valeurs positives indiquent qu’il est à droite, et les valeurs négatives qu’il est à gauche.
au démarrage
[Keep the blue barrel directly in front of the robot.]
définir la vitesse de rotation à [40]%
indéfiniment
obtenir [baril bleu v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
si <([orientation v] de l'objet vu par la caméra IA) [math_greater_than v] [5]> alors
pivoter [droite v]
sinon si <([orientation v] de l'objet vu par la caméra IA) [math_less_than v] [-5]> alors
pivoter [à gauche v]
sinon
arrêter tout mouvement
tagID#
La propriété tagID indique le numéro d’identification de l’identifiant AprilTag détecté sous forme de nombre entier.
[ID de la balise v] de l'objet vu par la caméra IA
Exemple
au démarrage
[Move forward when AprilTag ID 0 is detected.]
indéfiniment
obtenir [AprilTag ID 0 v] des données de la caméra IA
si <L'objet vu par la caméra IA Vision existe-t-il ?> alors
se déplacer [avant v]
fin
arrêter tout mouvement