Capteur de vision IA#

Introduction#

Le capteur de vision IA 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.

Vous trouverez ci-dessous la liste des blocs disponibles :

Actions – Capturez les données du capteur de vision IA pour une signature sélectionnée.

  • prendre un instantané – 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.

Valeurs – Accédez aux données collectées et utilisez-les.

Actes#

prendre un instantané#

Le bloc de pile take snapshot filtre les données de la trame du capteur de vision IA en 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é.

Le bloc de pile Take snapshot.#
prendre un instantané de [AIVision1 v] de [SELECT_A_SIG v]

Paramètre

Description

appareil

Quel capteur de vision IA utiliser ?

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
prendre un instantané de [AIVision1 v] de [AprilTag IDs 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 IA peut détecter différents objets selon certaines classifications IA. En fonction du modèle de classification 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

Report de la compétition de robotique VEX V5

  • BlueBlock

  • Bloc rouge

Compétition de robotique VEX V5 à enjeux élevés

  • Objectif mobile

  • Anneau rouge

  • Anneau bleu

Dérogation pour la compétition de robotique VEX V5

  • RougeBleuPin

  • Épingle bleue et jaune

  • Épingle rouge/jaune

  • YellowPin

  • Tasse

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, 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 take snapshot pour traiter et détecter les objets colorés en temps réel. Jusqu’à 7 signatures de couleur peuvent être configurées simultanément.

L'utilitaire AI Vision montre un capteur de vision connecté détectant deux objets colorés. La partie gauche affiche le flux vidéo en direct d'une caméra, avec un cadre bleu à gauche et un cadre rouge à droite, chacun entouré d'un cadre blanc. Des étiquettes noires indiquent leurs noms, coordonnées et dimensions respectifs. La partie droite contient les paramètres de signature colorimétrique, avec des curseurs pour la teinte et la saturation des deux cadres. Des boutons permettant d'ajouter des couleurs, de figer la vidéo, de copier et d'enregistrer l'image se trouvent en bas, ainsi qu'un bouton de fermeture dans le coin inférieur droit.

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.]
prendre un instantané de [AIVision1 v] de [RED_BOX 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 IA 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.

L'interface de l'utilitaire de vision IA affiche un capteur de vision connecté détectant deux objets adjacents : un rectangle bleu à gauche et un rectangle rouge à droite, regroupés dans un seul cadre blanc nommé BleuRouge. Les informations de détection comprennent l'angle A : 11° , les coordonnées X : 143, Y : 103 , la largeur L : 233 et la hauteur H : 108 . Sur le panneau de droite, trois signatures de couleur sont affichées : Rouge_Case, Bleu_Case et BleuRouge, avec des plages de teinte et de saturation réglables. La signature BleuRouge combine les signatures Bleu_Case et Rouge_Case. Sous le flux vidéo se trouvent des boutons intitulés Figer la vidéo, Copier l'image, Enregistrer l'image et Fermer.

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.]
prendre un instantané de [AIVision1 v] de [RED_BLUE 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.

Bloc de pile d’éléments de l’objet Set AI Vision.#
définir [AIVision1 v] l'élément d'objet sur (1)

Paramètres

Description

appareil

Quel capteur de vision IA utiliser ?

article

Le numéro de l’élément à utiliser dans l’ensemble de données.

Exemple

Une pile de blocs commence par un bloc « Quand démarré », suivi d’un bloc de commentaire indiquant « Afficher l’ID AprilTag le plus élevé détecté ». Dans une boucle infinie, un bloc « Prendre un instantané AI Vision » capture une image des ID AprilTag. Un bloc « Si » vérifie si un objet AI Vision existe. Si c’est le cas, un bloc « Définir le nombre d’objets AI Vision » assigne le nombre d’objets à une variable, et un bloc « Afficher » affiche l’ID de l’objet détecté à l’écran.#
au démarrage
[Display the largest detected AprilTag ID.]
indéfiniment
prendre un instantané de [AIVision1 v] de [AprilTag IDs 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é.

L’objet AI Vision existe sous forme de bloc booléen.#
<La caméra [AIVision1 v] voit-elle un objet ?>

Paramètres

Description

appareil

Quel capteur de vision IA utiliser ?

Exemple

au démarrage
[Drive forward if an object is detected.]
indéfiniment
prendre un instantané de [AIVision1 v] de [Classifications IA v]
si <La caméra [AIVision1 v] voit-elle un objet ?> 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.

La classification IA de la vision est un bloc booléen d’objet.#
<L'objet vu par la caméra [AIVision1 v] est [BlueBall v] ?>

Paramètre

Description

appareil

Quel capteur de vision IA utiliser ?

objet

Quelle Classification IA comparer l’élément.

Exemple

au démarrage
[Display if a Blue Cube is detected.]
indéfiniment
prendre un instantané de [AIVision1 v] de [Classifications IA 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 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.

L’IA Vision a détecté que l’identifiant AprilTag est un bloc booléen.#
<[AIVision1 v] object is AprilTag ID [1] ?>

Paramètres

Description

appareil

Quel capteur de vision IA utiliser ?

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
prendre un instantané de [AIVision1 v] de [AprilTag IDs 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

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.

Bloc de pile d’éléments de l’objet Set AI Vision.#
(nombre d'objets vus par la caméra [AIVision1 v])

Paramètres

Description

appareil

Quel capteur de vision IA utiliser ?

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
prendre un instantané de [AIVision1 v] de [Classifications IA 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é ci-dessous) stockées après l’utilisation du bloc prendre un instantané.

Bloc de reporting des propriétés de l’objet AI Vision.#
([largeur v] de l'objet vu par la caméra [AIVision1 v])

Toutes les valeurs de propriétés, à l’exception de tagID et score, décrivent la position et la taille de l’objet détecté dans le champ de vision du capteur de vision IA au moment où le bloc take snapshot a été utilisé. Ces valeurs sont exprimées en pixels, selon la résolution de 320 x 240 pixels du capteur.

Paramètre

Description

appareil

Quel capteur de vision IA utiliser ?

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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur largeur.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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]
sinon
arrêter le déplacement
fin

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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur hauteur.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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]
sinon
arrêter le déplacement
fin

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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur centerX.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur centerY.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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]
sinon
arrêter le déplacement
fin

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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur angle.#
([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
prendre un instantané de [AIVision1 v] de [RED_BLUE 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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur originX.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur originY.#
([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
prendre un instantané de [AIVision1 v] de [Classifications IA 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.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur tagID.#
([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
prendre un instantané de [AIVision1 v] de [AprilTag IDs 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

score#

La propriété score indique le degré de confiance du modèle dans la classification IA détectée, sous forme de pourcentage allant de 70 % à 100 %.

Un score plus bas signifie que le capteur est moins sûr de l’objet détecté, tandis qu’un score plus élevé signifie que le capteur est plus sûr de lui.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur tagID.#
([score v] de l'objet vu par la caméra [AIVision1 v])