Skip to main content

Utilisation du capteur de vision - C++

Icône Boîte à outils de l'enseignant Boîte à outils de l'enseignant - Le but de cette activité

L'utilisation efficace du capteur de vision nécessite que les élèves soient en mesure de le configurer et de l'ajuster en fonction de l'environnement dans lequel il se trouve. Dans l'activité suivante, les élèves apprendront à faire les deux.
Pour plus d'informations sur la programmation du capteur de vision avec VEXcode V5, consultez les informations d' aide pour C++ dans la bibliothèque VEX.

Voici un aperçu de ce que vos élèves feront dans cette activité :

  • Ouvrez l'exemple de projet Détection d'objets (Vision).

  • Configurez le capteur de vision.

  • Exécutez l'exemple de projet Détection d'objets (Vision).

  • Discutez et réfléchissez.

  • Réglez le capteur de vision.

Icône Conseils pour l'enseignant Conseils à l'enseignant

Si c'est la première fois que l'étudiant utilise VEXcode V5, il peut accéder à des articles d'aide dans la bibliothèque VEX.

Icône Conseils pour l'enseignant Conseils à l'enseignant - Utilisation de la saisie semi-automatique

La saisie semi-automatique est une fonctionnalité de VEXcode V5 qui prédit le reste de la commande que vous tapez. Pendant que les élèves travaillent dans VEXcode V5, encouragez-les à utiliser la fonction de saisie semi-automatique pour les aider avec la syntaxe.

VEXcode V5 avec la partie Drivetrain d'une commande tapée à gauche, et à droite, une liste déroulante d'options de saisie semi-automatique pour cette commande est affichée.

Les articles de saisie semi-automatique pour C++ expliquent comment utiliser la fonctionnalité de saisie semi-automatique.

Obtenez le matériel nécessaire, votre ordinateur portable d'ingénierie et ouvrez VEXcode V5.

Matériel requis :
Quantité Matériel nécessaire
1

Kit de démarrage pour salle de classe VEX V5

1

VEXcode V5 (dernière version, Windows, MacOS)

1

Carnet d'ingénierie

1

Configuration d'un capteur de vision (bibliothèque VEX)

1

Réglage du capteur de vision (bibliothèque VEX)

1

Exemple de projet Détection d'objets (vision)

Cette activité vous donnera les outils pour utiliser le capteur de vision.

Vous pouvez utiliser les informations d'aide (C++) à l'intérieur de VEXcode V5 pour en savoir plus sur les instructions.

VEXcode V5 s'affiche avec la boîte à outils ouverte à l'extrême gauche et l'aide pour la commande Drive for ouverte à l'extrême droite. L'aide montre la définition de la commande et des informations sur son utilisation.

 

Étape 1 : Ouvrez un exemple de projet

VEXcode V5 contient de nombreux exemples de projets différents. Vous en utiliserez un dans cette exploration.

Ouvrez l'exemple de projet Détection d'objets (Vision) en suivant les étapes suivantes :

  • Ouvrez le menu Fichier.
  • Sélectionnez Ouvrir les exemples.

Barre d'outils VEXcode V5 avec le menu Fichier ouvert et Ouvrir les exemples surlignés dans une boîte rouge. Open Examples est le quatrième élément de menu sous New Blocks Project, New Text Project et Open.

  • Utilisez la barre de filtre en haut de l'application et sélectionnez « Sensation ».

VEXcode V5 Exemple Fenêtre de sélection de projet avec le filtre de détection sélectionné en haut et surligné dans une case rouge. Vous trouverez ci-dessous six exemples d'icônes de projet.

Sélectionnez et ouvrez l' exemple de projet Détection d'objets (Vision).

L'icône d'exemple de projet indique Détecter la vision des objets en bas et montre un diagramme bleu d'un robot avec un capteur indiquant la détection d'objets ci-dessus.

Enregistrez votre projet en tant qu'objets de détection.

  • Vérifiez que le nom du projet Détection d'objets se trouve maintenant dans la fenêtre au centre de la barre d'outils.

La boîte de dialogue Nom du projet dans la barre d'outils VEXcode V5 affiche Détection d'objets, indique que l'emplacement 1 est sélectionné à gauche et indique Enregistré à droite.

Icône Conseils pour l'enseignant Conseils à l'enseignant

  • Assurez-vous que les élèves ont sélectionné Ouvrir les exemples dans le menu Fichier.

  • Assurez-vous que les élèves ont sélectionné le projet Exemple de détection d'objets (vision). Vous pouvez signaler aux étudiants qu'il y a plusieurs sélections à choisir sur la page Exemples ouverts.

  • Vous pouvez demander aux élèves d'ajouter leurs initiales ou le nom de leur groupe au nom du projet. Cela aidera à différencier les programmes si vous demandez aux étudiants de les soumettre.

  • Étant donné que VEXcode V5 a l'enregistrement automatique, il n'est pas nécessaire d'enregistrer à nouveau le projet une fois qu'il a été enregistré pour la première fois.

  • Si les étudiants ont besoin d'aide pour économiser, dirigez-les vers l'un de ces articles : 

Étape 2 : Configuration et utilisation du capteur de vision

La fenêtre de configuration du capteur de vision montre une image d'une main tenant un cube rouge à gauche, avec une superposition sur le cube et les mots REDBOX et W142 H142 au-dessus. À droite, 3 signatures de couleur sont définies pour BlueBox, Redbox et Greenbox.

Ouvrez l'exemple de projet Détection d'objets (Vision) précédemment enregistré.

Comment le capteur de vision est-il utilisé dans ce projet ? Prévoyez ce qui se passera lorsque le projet sera exécuté et notez les prévisions dans votre carnet d'ingénierie.

#include "vex.h"

	using namespace vex;
	
	event checkBlue = event();
	event checkRed = event();
	event checkGreen = event();
	
	// Will check to see if there is a blue object in the view of the Vision
	// Sensor and display the results on line 1 of the V5 Brain's screen.
	void has BlueCallback() {
	
	  Brain.Screen.clearLine(1);
	  Brain.Screen.setCursor(1, 1);
	  Vision5.takeSnapshot(Vision5__BLUEBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Blue Object Found");
	
	  } else {
		Brain.Screen.print("No Blue Object");
	  }
	}
	
	// Will check to see if there is a red object in the view of the Vision
	// Sensor and display the results on line 3 of the V5 Brain's screen.
	void has RedCallback() {
	
	  Brain.Screen.clearLine(3);
	  Brain.Screen.setCursor(3, 1);
	  Vision5.takeSnapshot(Vision5__REDBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Red Object Found");
	
	  } else {
		Brain.Screen.print("No Red Object");
	  }
	}
	
	// Will check to see if there is a green object in the view of the Vision
	// Sensor and display the results on line 5 of the V5 Brain's screen.
	void has GreenCallback() {
	
	  Brain.Screen.clearLine(5);
	  Brain.Screen.setCursor(5, 1);
	  Vision5.takeSnapshot(Vision5__GREENBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Green Object Found");
	
	  } else {
		Brain.Screen.print("No Green Object");
	  }
	}
	
	// Begin project code
	int main() {
	  // Initializing Robot Configuration. DO NOT REMOVE!
	  vexcodeInit();
	
	  // Register event handlers
	  checkBlue (hasBlueCallback);
	  checkRed (hasRedCallback);
	  checkGreen (hasGreenCallback);
	
	  // Small delay to ensure the event handlers are ready to be used
	  wait(15, msec);
	
	  // Set the print font for all future prints to the V5 screen
	  Brain.Screen.setFont(mono40);
	
	  // Constantly run to check for new sensor data
	  while (true) {
		checkBlue.broadcastAndWait();
		checkRed.broadcastAndWait();
		checkGreen.broadcastAndWait();
		wait(0.1, seconds);
	  }
	}
  • Téléchargez et exécutez le projet. Placez différents objets colorés devant le capteur de vision et observez le comportement du robot. Notez dans votre cahier d'ingénierie en quoi votre prédiction était différente ou correcte par rapport à ce que vous avez réellement observé dans le cadre du projet.

Icône Conseils pour l'enseignant Conseils à l'enseignant

Les trois objets colorés ne doivent pas nécessairement être des cubes, ils peuvent être des objets relativement petits verts, rouges et bleus.

Icône Motiver la discussion Motiver la discussion - Réponses

Facilitez une discussion en classe pour que les élèves partagent ce qu'ils ont prévu que ce projet fera dans leur cahier d'ingénierie, et réfléchissez également à la façon de configurer le capteur de vision.
Facilitez la discussion en posant les questions suivantes :

  1. Quelles sont les étapes de configuration du capteur de vision ?

  2. Que fait la structure if then else?

  3. Qu'adviendrait-il de la façon dont le capteur de vision détecte les objets si nous changions de pièce ?

Les réponses varieront :

  1. Les élèves doivent noter que le nom de l'objet devra être décidé. L'objet doit être placé dans le cadre du capteur de vision et immobilisé à l'aide du bouton « Geler ». La couleur sera ensuite sélectionnée et configurée à l'aide du bouton « Set ». Les élèves doivent décrire les étapes énumérées dans cet article.

  2. La structure if then else exécute les instructions à l'intérieur de la première ou de la deuxième partie de if then else en fonction de la valeur booléenne rapportée. Vous trouverez plus d'informations sur l'utilisation de ces instructions dans les informations d'aide.

  3. Si le capteur de vision était invité à détecter des objets dans un environnement différent, l'éclairage pourrait changer et les couleurs des objets pourraient être différentes. Cela peut rendre difficile la détection d'objets par le capteur de vision.

Icône Étendre votre apprentissage Étendez votre apprentissage - Configurez plus d'objets

Choisissez deux autres objets colorés à configurer, éventuellement blanc, violet, jaune, etc...

Fenêtre de configuration du capteur de vision montrant l'instantané sur la gauche avec une main tenant un engrenage jaune. Il y a une superposition carrée sur l'engrenage jaune et les données indiquent Boîte jaune, X90 y 62, w102, h 98. À droite, les signatures de couleur pour Bluebox, Redbox, Greenbox et Yellowbox sont définies.

Si les élèves ont besoin d'aide, référez-les aux informations d'aide ou à l'article Configuration d'un capteur de vision V5.

Étape 3 : Réglage du capteur de vision

Souvent, un objet est configuré pour être reconnu par le capteur de vision dans un environnement, par exemple, dans une salle de classe. Lorsque le capteur de vision est ensuite placé dans un environnement différent, tel qu'un environnement de compétition, l'objet peut ne pas être reconnu par le capteur de vision. Cela est souvent dû à un changement d'éclairage après que le capteur de vision a déjà été configuré. Pour résoudre ce problème, vous devrez peut-être régler votre capteur de vision.

Fenêtre de configuration du capteur de vision avec une main tenant un cube rouge avec une superposition sur le cube et une boîte rouge de lecture de texte et x84 y 28 puis w 158 h 166. À droite, les signatures de couleur Bluebox, Redbox et Greenbox sont définies avec un curseur surligné dans une boîte rouge avec le cadran réglé sur 4.4.

Ouvrez l' exemple de projet Détection d'objets (Vision) précédemment enregistré.

Comment le réglage du capteur de vision affectera-t-il sa capacité à détecter des objets ? Emmenez le Clawbot dans une autre partie de la pièce avec plus ou moins de lumière.

V5 Clawbot sur un terrain avec le bras baissé et la griffe ouverte et autour d'un objet cube violet.

  • Téléchargez et exécutez le projet. Placez différents objets colorés devant le capteur de vision et observez le comportement du robot. Documentez dans votre cahier d'ingénierie la façon dont le capteur de vision détecte les objets. Le capteur de vision a-t-il besoin d'être réglé après avoir changé d'emplacement ?
  • Réglez le capteur de vision si nécessaire. Testez le capteur de vision après l'avoir réglé pour déterminer s'il peut mieux détecter les objets et effectuer les ajustements nécessaires.

Icône Motiver la discussion Motiver la discussion - Réfléchir à l'activité

Q : Le capteur de vision a-t-il détecté des objets comme vous vous y attendiez ?
R : Les réponses varieront ; cependant, le but de cette question est de promouvoir la pensée cognitive. Les élèves doivent noter que la capacité du capteur de vision à détecter des objets peut changer en fonction de l'environnement et de la lumière.

Q : Pourquoi est-il important de pouvoir régler le capteur de vision au besoin ?
R : Bien que les réponses puissent varier, une réponse courante devrait être que si un robot utilise un capteur de vision et est emmené à une compétition ou même utilisé dans un jeu ou un défi, la performance du robot dépendra de la précision du capteur de vision. L'accorder est important pour la précision.

Icône Étendre votre apprentissage Étendez votre apprentissage - Objets multiples

Demandez aux élèves d'exécuter le projet Détection d'objets (vision) et de placer plus d'un des objets configurés devant le capteur de vision. Que se passe-t-il ? Demandez-leur de documenter leurs conclusions dans leur cahier d'ingénierie.
Maintenant, demandez aux élèves de placer un objet configuré et un objet inconnu ou non configuré devant le capteur de vision. Que se passe-t-il ? Demandez-leur de documenter leurs conclusions dans leur cahier d'ingénierie.

Demandez aux élèves avant de le tester, que se passerait-il s'ils plaçaient trois objets configurés devant le capteur de vision ? Demandez aux élèves d'écrire leurs prédictions avant de les tester. Demandez-leur d'enregistrer leurs observations après les avoir testées.

Interface de Vision Sensor Utility montrant deux mains tenant une Greenbox et une Redbox dans la fenêtre à gauche. Chaque cube coloré a une superposition de données. À droite, les signatures pour Bluebox, Redbox, Greenbox et Yellowbox sont toutes définies.

Animer une discussion sur ce que les élèves ont prédit et observé.

Facilitez la discussion en demandant :

  • Quelles étaient les différences entre un, deux et trois objets ?
  • Ajusteriez-vous le projet de quelque manière que ce soit pour reconnaître plusieurs objets ?