Utilisation du capteur de vision - Python
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.
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.
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.
Obtenez le matériel nécessaire, votre ordinateur portable d'ingénierie et ouvrez VEXcode V5.
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.
É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.
- Utilisez la barre de filtre en haut de l'application et sélectionnez « Sensation ».
Sélectionnez et ouvrez l' exemple de projet Détection d'objets (Vision).
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.
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
- Commencez par lire Vision Sensor - Robot Config - VEXcode V5.
- Ensuite, lisez Réglages du capteur de vision-Robot Config-VEXcode V5
- Ensuite, configurez le capteur de vision pour trois objets colorés : rouge, vert et bleu.
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.
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.
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 :
-
Quelles sont les étapes de configuration du capteur de vision ?
-
Que fait la structure if else?
-
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:
-
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.
-
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.
-
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.
Étendez votre apprentissage
-
Configurez plus d'objets
Choisissez deux autres objets colorés à configurer, éventuellement blanc, violet, jaune, etc...
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.
- Commencez par lire Ajustement du capteur de vision V5 dans VEXcode V5.
- Ensuite, ajustez le capteur de vision pour les trois objets colorés : rouge, vert et bleu.
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.
- 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.
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.
É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.
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 ?