Verwendung des Vision-Sensors - Python
Lehrer-Toolbox
-
Der Zweck dieses Abschnitts
Die effektive Verwendung des Vision Sensors erfordert, dass die Schüler in der Lage sind, ihn je nach Umgebung zu konfigurieren und abzustimmen. In der folgenden Aufgabe lernen die Schüler, wie man beides macht.
Weitere Informationen zur Programmierung des Vision Sensors mit VEXcode V5 finden Sie in den Hilfeinformationen in VEXcode V5für Python oder im Abschnitt V5 der VEX-Bibliothek.
Im Folgenden finden Sie einen Überblick darüber, was Ihre Schüler in dieser Aktivität tun werden:
-
Öffnen Sie das Beispielprojekt Objekte erkennen (Vision).
-
Konfigurieren Sie den Vision-Sensor.
-
Führen Sie das Beispielprojekt Detecting Objects (Vision) aus.
-
Diskutieren und reflektieren.
-
Stellen Sie den Vision-Sensor ein.
Lehrertipps
Wenn der Schüler VEXcode V5 zum ersten Mal verwendet, kann er auf viele hilfreiche Artikel in der VEX-Bibliothek zugreifen.
Lehrertipps
-
Verwenden der automatischen Vervollständigung
Die automatische Vervollständigung ist eine Funktion in VEXcode V5, die den Rest des Befehls vorhersagt, den Sie eingeben. Während die Schüler in VEXcode V5 arbeiten, ermutigen Sie sie, die Autovervollständigungsfunktion zu verwenden, um bei der Python-Syntax zu helfen. Möglicherweise bemerken Sie eine Autovervollständigungsfunktion, wenn Sie mit der Eingabe des Befehls beginnen. Verwenden Sie die Tasten "Auf" und "Ab", um den gewünschten Namen auszuwählen, und drücken Sie dann "Tab" oder (Enter/Return) auf Ihrer Tastatur, um die Auswahl zu treffen. Weitere Informationen zur Verwendung der automatischen Vervollständigung finden Sie in diesem Artikel.
Holen Sie sich die erforderliche Hardware, Ihr technisches Notizbuch und öffnen Sie VEXcode V5.
Menge | Benötigtes Material |
---|---|
1 |
VEX V5 Klassenzimmer Starter-Kit |
1 |
VEXcode V5 (neueste Version, Windows, macOS) |
1 |
Technisches Notizbuch |
1 |
Konfigurieren eines Vision-Sensors (VEX-Bibliothek) |
1 |
Tuning des Vision-Sensors (VEX-Bibliothek) |
1 |
Erkennen von Objekten (Vision) Beispielprojekt |
Diese Aktivität gibt Ihnen die Werkzeuge an die Hand, um den Vision-Sensor zu verwenden.
Sie können die Hilfe-Informationen in VEXcode V5 verwenden, um mehr über die Befehle zu erfahren.
Schritt 1: Öffnen Sie ein Beispielprojekt
VEXcode V5 enthält viele verschiedene Beispielprojekte. Du wirst einen von ihnen bei dieser Erkundung verwenden.
Öffnen Sie das Beispielprojekt Detecting Objects (Vision), indem Sie die folgenden Schritte ausführen:
- Öffnen Sie das Menü Datei.
- Wählen Sie Beispiele öffnen.
- Verwenden Sie die Filterleiste oben in der Anwendung und wählen Sie „Erfassen“.
Wählen Sie das Beispielprojekt Detecting Objects (Vision) aus und öffnen Sie es.
Speichern Sie Ihr Projekt unter Objekte erkennen.
- Überprüfen Sie, ob sich der Projektname Objekte erkennen jetzt im Fenster in der Mitte der Symbolleiste befindet.
Lehrertipps
-
Stellen Sie sicher, dass die Schüler im Menü Datei die Option Beispiele öffnen ausgewählt haben.
-
Stellen Sie sicher, dass die Schüler das Beispielprojekt Objekte erkennen (Vision) ausgewählt haben. Sie können die Schüler darauf hinweisen, dass auf der Seite „ Offene Beispiele“ mehrere Auswahlmöglichkeiten zur Auswahl stehen.
-
Sie können die Schüler bitten, ihre Initialen oder den Namen ihrer Gruppe zum Projektnamen hinzuzufügen. Dies hilft, die Programme zu differenzieren, wenn Sie die Schüler bitten, sie einzureichen.
-
Da VEXcode V5 über eine automatische Speicherung verfügt, ist es nicht erforderlich, das Projekt nach dem ersten Speichern erneut zu speichern.
-
Wenn die Schüler Hilfe beim Sparen benötigen, leiten Sie sie zu einem dieser Artikel:
Schritt 2: Konfigurieren und Verwenden des Vision-Sensors
- Lesen Sie zunächst Vision Sensor - Robot Config - VEXcode V5.
- Lesen Sie dann Vision Sensor Adjustments-Robot Config-VEXcode V5
- Konfigurieren Sie als Nächstes den Vision Sensor für drei farbige Objekte: rot, grün und blau.
Öffnen Sie das zuvor gespeicherte Beispielprojekt Detecting Objects (Vision).
Wie wird der Vision Sensor in diesem Projekt eingesetzt? Sagen Sie voraus, was passiert, wenn das Projekt ausgeführt wird, und notieren Sie die Vorhersagen in Ihrem technischen Notizbuch.
# 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)
- Laden Sie das Projekt herunter und führen Sie es aus. Stellen Sie verschiedenfarbige Objekte vor den Vision Sensor und beobachten Sie das Verhalten des Roboters. Notieren Sie in Ihrem technischen Notizbuch, wie Ihre Vorhersage im Vergleich zu dem, was Sie tatsächlich aus dem Projekt beobachtet haben, anders oder richtig war.
Lehrertipps
Die drei farbigen Objekte müssen keine Würfel sein, sie können jedes relativ kleine grüne, rote und blaue Objekt sein.
Diskussion motivieren
-
Antworten
Ermöglichen Sie eine Unterrichtsdiskussion, bei der die Schüler in ihrem technischen Notizbuch mitteilen, was sie von diesem Projekt erwartet haben, und darüber nachdenken, wie der Vision-Sensor konfiguriert werden kann.
Erleichtern Sie die Diskussion, indem Sie die folgenden Fragen stellen:
-
Was sind die Schritte zur Konfiguration des Vision-Sensors?
-
Was macht die if else Struktur?
-
Was würde mit der Art und Weise passieren, wie der Vision-Sensor Objekte erkennt, wenn wir den Raum wechseln würden?
Die Antworten variieren:
-
Die Schüler sollten beachten, dass der Objektname entschieden werden muss. Das Objekt sollte im Rahmen des Vision Sensors platziert und mit der Taste „Freeze“ stillgelegt werden. Die Farbe wird dann über die Schaltfläche „Set“ ausgewählt und konfiguriert. Die Schüler sollten die in diesem Artikel aufgeführten Schritte skizzieren.
-
Die if else-Struktur führt die Anweisungen innerhalb des ersten oder zweiten Teils des if else basierend auf dem gemeldeten Booleschen Wert aus. Weitere Informationen zur Verwendung dieser Anleitung finden Sie in der Hilfe.
-
Wenn der Vision Sensor aufgefordert würde, Objekte in einer anderen Umgebung zu erkennen, könnte sich die Beleuchtung ändern und die Farben der Objekte könnten anders aussehen. Dies kann es dem Vision Sensor erschweren, Objekte zu erkennen.
Erweitern Sie Ihr Lernen
-
Konfigurieren Sie mehr Objekte
Wählen Sie zwei andere zu konfigurierende farbige Objekte, möglicherweise weiß, lila, gelb usw....
Wenn die Schüler Hilfe benötigen, verweisen Sie sie auf die Hilfeinformationen oder den Artikel Konfigurieren eines V5 Vision Sensors.
Schritt 3: Tuning des Vision-Sensors
Oft ist ein Objekt so konfiguriert, dass es von dem Vision-Sensor in einer Umgebung erkannt wird, zum Beispiel in einem Klassenzimmer. Wenn der Vision-Sensor dann in eine andere Umgebung gebracht wird, z. B. in eine Wettkampfumgebung, wird das Objekt möglicherweise nicht vom Vision-Sensor erkannt. Dies ist oft auf eine Änderung der Beleuchtung zurückzuführen, nachdem der Vision Sensor bereits konfiguriert wurde. Um dieses Problem zu lösen, müssen Sie möglicherweise Ihren Vision-Sensor abstimmen.
- Lesen Sie zunächst Adjusting the V5 Vision Sensor in VEXcode V5.
- Als nächstes stellen Sie den Vision Sensor für die drei farbigen Objekte ein: rot, grün und blau.
Öffnen Sie das zuvor gespeicherte Beispielprojekt Detecting Objects (Vision).
Wie wirkt sich die Abstimmung des Vision-Sensors darauf aus, wie gut er Objekte erkennen kann? Bring den Clawbot zu einem anderen Teil des Raumes mit mehr oder weniger Licht.
- Laden Sie das Projekt herunter und führen Sie es aus. Stellen Sie verschiedenfarbige Objekte vor den Vision Sensor und beobachten Sie das Verhalten des Roboters. Dokumentieren Sie in Ihrem technischen Notizbuch, wie gut der Vision Sensor Objekte erkennt. Muss der Vision-Sensor abgestimmt werden, nachdem er den Standort gewechselt hat?
- Stellen Sie den Vision-Sensor nach Bedarf ein. Testen Sie den Vision-Sensor, nachdem er abgestimmt wurde, um festzustellen, ob er Objekte besser erkennen und bei Bedarf Anpassungen vornehmen kann.
Diskussion motivieren
-
Über die Aktivität nachdenken
F: Hat der Vision-Sensor Objekte so erkannt, wie Sie es erwartet haben?
A: Die Antworten werden variieren; das Ziel dieser Frage ist jedoch, das kognitive Denken zu fördern. Die Schüler sollten beachten, dass sich die Fähigkeit des Sehsensors, Objekte zu erkennen, je nach Umgebung und Licht ändern kann.
F: Warum ist es wichtig, den Vision-Sensor nach Bedarf einstellen zu können?
A: Obwohl die Antworten variieren können, sollte eine häufige Antwort sein, dass, wenn ein Roboter einen Vision-Sensor verwendet und zu einem Wettbewerb gebracht oder sogar in einem Spiel oder einer Herausforderung verwendet wird, die Leistung des Roboters von der Genauigkeit des Vision-Sensors abhängt. Die Abstimmung ist wichtig für die Genauigkeit.
Erweitern Sie Ihr Lernen
-
Mehrere Objekte
Bitten Sie die Schüler, das Projekt Detecting Objects (Vision) auszuführen und mehr als eines der konfigurierten Objekte vor dem Vision Sensor zu platzieren. Was passiert? Bitten Sie sie, ihre Ergebnisse in ihrem technischen Notizbuch zu dokumentieren. Bitten Sie die Schüler
nun, ein konfiguriertes Objekt und ein unbekanntes oder nicht konfiguriertes Objekt vor dem Vision Sensor zu platzieren. Was passiert? Bitten Sie sie, ihre Ergebnisse in ihrem technischen Notizbuch zu dokumentieren.
Fragen Sie die Schüler vor dem Testen, was passieren würde, wenn sie drei konfigurierte Objekte vor dem Vision Sensor platzieren würden. Bitten Sie die Schüler, ihre Vorhersagen aufzuschreiben, bevor sie sie testen. Bitten Sie sie, ihre Beobachtungen nach dem Testen aufzuzeichnen.
Erleichtern Sie eine Diskussion darüber, was die Schüler vorhergesagt und beobachtet haben.
Erleichtern Sie die Diskussion, indem Sie fragen:
- Was waren die Unterschiede zwischen einem, zwei und drei Objekten?
- Würden Sie das Projekt in irgendeiner Weise anpassen, um mehrere Objekte zu erkennen?