Capteur de vision IA#
Introduction#
Le capteur de vision VEX IQ AI peut détecter et suivre 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.
Les exemples AI Vision sont conçus pour être utilisés avec un Basebot équipé d’un capteur VEX IQ AI Vision. Dans ces exemples, le capteur est configuré sous le nom AIVision1, qui apparaît dans les blocs.
Vous trouverez ci-dessous la liste de tous les blocs :
Actions — Capturez les données du capteur de vision IA VEX IQ pour une signature sélectionnée.
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 — Choisissez l’objet avec lequel interagir.
set AI Vision object item — Sélectionne un objet spécifique dans la liste des objets détectés.
Valeurs — Accédez aux données collectées et utilisez-les.
L’objet AI Vision existe — Indique si un objet est détecté.
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 :
L’objet AI Vision est-il ? — Vérifie si un objet détecté correspond à une classification spécifique.
L’objet AI Vision est-il un AprilTag ? — Vérifie si l’objet détecté est un AprilTag correspondant à un ID spécifique.
L’objet AI Vision est-il un ID AprilTag ? — Vérifie si un ID AprilTag détecté correspond à un ID spécifique.
Actes#
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 VEX IQ AI pour obtenir une signature unique — 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 [SELECT_A_SIG v] des données de la caméra [AIVision1 v]
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 :
|
Remarque : Pour que les options AprilTag ID ou de classification IA apparaissent, leur détection doit être activée dans l’utilitaire AI Vision.
Exemple
au démarrage
[Drive forward if an AprilTag ID is detected.]
indéfiniment
obtenir [AprilTag IDs v] des données de la caméra [AIVision1 v]
si <La caméra [AIVIsion1 v] voit-elle un objet ?> alors
se déplacer [avant v] sur [10] [mm v] ▶
Classifications IA#
Le capteur de vision VEX IQ AI peut détecter différents objets selon certaines classifications d’IA. En fonction du modèle de classification d’IA sélectionné lors de la configuration du capteur dans la fenêtre « Périphériques », différents objets seront détectés. Les modèles actuellement disponibles sont :
Objets de classe
BlueBall
GreenBall
RedBall
Anneau bleu
Anneau vert
Anneau rouge
BlueCube
GreenCube
RedCube
Compétition de robotique VEX IQ : Combinaisons possibles
Faisceau
RedPin
BluePin
OrangePin
VEX IQ Robotics Competition Level Up
Sac à haricots bleus
Sac à haricots rouges
Sac à haricots jaunes
Signatures de couleur#
Une signature de couleur est une couleur unique que le capteur de vision VEX IQ AI 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, 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. Jusqu’à 7 signatures de couleur peuvent être configurées simultanément.

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 [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
afficher [Color 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. Ces codes permettent au capteur de vision VEX IQ AI de 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. Il est possible de configurer jusqu’à 8 codes couleur simultanément.

Exemple
au démarrage
[Display if any objects matching the RED_BLUE 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 [RED_BLUE v] des données de la caméra [AIVision1 v]
si <La caméra [AIVIsion1 v] voit-elle un objet ?> alors
afficher [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 [AIVision1 v] l'élément d'objet 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 largest detected AprilTag ID.]
indéfiniment
obtenir [AprilTag IDs v] des données de la caméra [AIVision1 v]
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
définir [AIVision1 v] l'élément d'objet sur (nombre d'objets vus par la caméra [AIVision1 v])
afficher ([ID de la balise v] de l'objet vu par la caméra [AIVision1 v]) sur l'écran ▶
Valeurs#
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 — L’ensemble de données ne contient aucun objet détecté.
<La caméra [AIVision1 v] voit-elle un objet ?>
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Drive forward if an object is detected.]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
se déplacer [avant v] sur [10] [mm v] ▶
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.
(nombre d'objets vus par la caméra [AIVision1 v])
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Display the total amount of cubes, rings, and balls.]
indéfiniment
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
afficher (nombre d'objets vus par la caméra [AIVision1 v]) 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 [AIVision1 v])
Toutes les valeurs de propriétés, à l’exception de tagID, décrivent la position et la taille de l’objet détecté dans le champ de vision du capteur de vision VEX IQ AI au moment de l’exécution du bloc get object data. Ces valeurs sont exprimées en pixels, 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.
([largeur v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Drive towards an object until its width is larger than 100 pixels.]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([largeur v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [100]> alors
se déplacer en [avant v]
fin
sinon
arrêter le déplacement
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.
([hauteur v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Drive towards an object until its height is larger than 100 pixels.]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([hauteur v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [100]> alors
se déplacer en [avant v]
fin
sinon
arrêter le déplacement
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.
([centreX v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Turn slowly until an object is centered in front of the robot.]
définir la vitesse de rotation à [30] [% v]
pivoter [droite v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <[140] [math_less_than v] ([centreX v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [180]> alors
arrêter le déplacement
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.
([centreY v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([centreY v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [140]> alors
se déplacer en [avant v]
fin
sinon
arrêter le déplacement
angle#
La propriété angle indique l’orientation du code couleur ou de l’identifiant AprilTag détecté sous forme d’un nombre entier en degrés compris entre 0 et 359.
([angle v] de l'objet vu par la caméra [AIVision1 v])
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 [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <[50] [math_less_than v] ([angle v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [100]> alors
se déplacer en [droite v]
sinon si <[270] [math_less_than v] ([angle v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [330]> alors
se déplacer en [à gauche v]
sinon
arrêter le déplacement
fin
sinon
arrêter le déplacement
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.
([origineX v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Display if an object 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 [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([origineX v] de l'objet vu par la caméra [AIVision1 v]) [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.
([origineY v] de l'objet vu par la caméra [AIVision1 v])
Exemple
au démarrage
[Display if an object 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 [Classifications IA v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([origineY v] de l'objet vu par la caméra [AIVision1 v]) [math_less_than v] [80]> alors
afficher [Far!] sur l'écran ▶
sinon
afficher [Close!] sur l'écran ▶
fin
attendre [0.5] secondes
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 [AIVision1 v])
Exemple
au démarrage
[Drive forward when AprilTag ID 0 is detected.]
indéfiniment
obtenir [AprilTag IDs v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <([ID de la balise v] de l'objet vu par la caméra [AIVision1 v]) [math_equal v] [0]> alors
se déplacer en [avant v]
sinon
arrêter le déplacement
fin
attendre [0.5] secondes
L’objet AI Vision est-il ?#
Le bloc L’objet AI Vision est-il ? renvoie une valeur booléenne 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 [AIVision1 v] est [BlueBall v] ?>
Paramètre |
Description |
|---|---|
objet |
Quelle Classification IA comparer l’élément. |
Exemple
au démarrage
[Display if a Blue Cube is detected.]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision1 v]
effacer la ligne [1] sur l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <L'objet vu par la caméra [AIVision1 v] est [BlueCube v] ?> alors
afficher [Cube detected!] sur l'écran ▶
attendre [0.5] secondes
L’objet AI Vision est-il AprilTag ?#
Le bloc L’objet AI Vision est-il un AprilTag ? renvoie une valeur booléenne indiquant si l’objet détecté est un AprilTag correspondant à un ID spécifique.
Vrai — L’objet détecté est un AprilTag avec l’ID indiqué.
Faux — L’objet détecté n’est pas un AprilTag avec l’ID donné.
<L'objet vu par la caméra [AIVision1 v] objet est-il AprilTag [0]?>
Paramètre |
Description |
|---|---|
Identifiant AprilTag |
Le numéro d’identification à comparer avec l’AprilTag détecté. |
Exemple
au démarrage
[Report if AprilTag 3 is detected.]
indéfiniment
effacer l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [AprilTag IDs v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <L'objet vu par la caméra [AIVision1 v] objet est-il AprilTag [3]?> alors
afficher [That is 3!] sur l'écran ▶
sinon
afficher [That isn't 3!] sur l'écran ▶
fin
fin
attendre [0.1] secondes
L’objet AI Vision est-il un AprilTag ID ?#
Le bloc L’objet AI Vision est-il un ID AprilTag ? renvoie une valeur booléenne indiquant 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 un numéro.
<[AIVision1 v] object is AprilTag ID [1] ?>
Paramètres |
Description |
|---|---|
Numéro d’identification AprilTag |
Le numéro à comparer avec le numéro d’identification AprilTag détecté. |
Exemple:
au démarrage
[Report if AprilTag ID 3 is detected.]
indéfiniment
effacer l'écran
placer le curseur sur la ligne [1] et colonne [1] sur l'écran
obtenir [AprilTag IDs v] des données de la caméra [AIVision1 v]
si <La caméra [AIVision1 v] voit-elle un objet ?> alors
si <[AIVision1 v] object is AprilTag ID [3] ?> alors
afficher [That is 3!] sur l'écran ▶
sinon
afficher [That isn't 3!] sur l'écran ▶
fin
fin
attendre [0.1] secondes