Skip to main content
Portail des enseignants

Utilisation du capteur de vision - Python

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

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, visitez les informations d' aide dans VEXcode V5 pour Python, ou consultez la section V5 de 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 à de nombreux articles utiles 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 Python. Vous remarquerez peut-être une fonction de saisie semi-automatique lorsque vous commencez à taper la commande. Utilisez vos touches « Haut » et « Bas » pour sélectionner le nom que vous souhaitez, puis appuyez sur « Tab » ou (Entrée/Retour) sur votre clavier pour effectuer la sélection. Pour plus d'informations sur l'utilisation de la saisie semi-automatique, consultez cet article.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.

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 à l'intérieur de VEXcode V5 pour en savoir plus sur les commandes.

VEXcode V5 s'affiche avec la boîte à outils ouverte à l'extrême gauche et l'aide pour la commande Drive 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 ».

Exemple de fenêtre de sélection de projet dans VEXcode V5 montre le filtre de détection sélectionné en haut, mis en évidence par une case rouge. Vous trouverez ci-dessous plusieurs exemples d'icônes de projet.

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

L'exemple d'icône de projet indique Détecter la vision des objets en bas et montre une icône de robot avec un capteur à gauche et un croquis indiquant la détection à droite.

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.

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 indiquer 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.

  # Library imports
	from vex import *
	
	# Begin project code
	
	check_red = Event()
	check_blue = Event()
	check_green = Event()
	
	# Will check to see if there is a blue object in view of the vision
	# sensor and display the result on line 1 on the V5 Brain's screen
	def has_blue_callback():
		brain.screen.clear_row(1)
		brain.screen.set_cursor(1, 1)
		vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__BLUEBOX)
		if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 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 view of the vision
	# sensor and display the result on line 3 on the V5 Brain's screen
	def has_red_callback():
		brain.screen.clear_row(3)
		brain.screen.set_cursor(3, 1)
		vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__REDBOX)
		if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 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 view of the vision
	# sensor and display the result on line 5 on the V5 Brain's screen
	def has_green_callback():
		brain.screen.clear_row(5)
		brain.screen.set_cursor(5, 1)
		vexcode_vision_5_objects = vision_5.take_snapshot(vision_5__GREENBOX)
		if vexcode_vision_5_objects and len(vexcode_vision_5_objects) > 0:
			brain.screen.print("Green Object Found")
		else:
			brain.screen.print("No Green Object")
	
	# register event handlers
	check_blue(has_blue_callback)
	check_red(has_red_callback)
	check_green(has_green_callback)
	
	# small delay to ensure that 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.set_font(FontType.MONO40)
	
	# constantly runs to check for new sensor data
	while True:
		check_blue.broadcast_and_wait()
		check_red.broadcast_and_wait()
		check_green.broadcast_and_wait()
		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 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 else exécute les instructions à l'intérieur de la première ou de la deuxième partie de if 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 autour d'une boîte violette.

  • 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 ?