Skip to main content
Lehrerportal

Verwendung des Vision-Sensors - Python

Lehrer-Toolbox-Symbol 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.

Lehrer-Tipps-Symbol Lehrertipps

Wenn der Schüler VEXcode V5 zum ersten Mal verwendet, kann er auf viele hilfreiche Artikel in der VEX-Bibliothek zugreifen

Lehrer-Tipps-Symbol 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.VEXcode V5 mit dem Drivetrain-Teil eines Befehls, der links und rechts eingegeben wird, wird eine scrollbare Liste der Autovervollständigungsoptionen für diesen Befehl angezeigt.

Holen Sie sich die erforderliche Hardware, Ihr technisches Notizbuch und öffnen Sie VEXcode V5.

Erforderliches Material:
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.

VEXcode V5 wird ganz links mit geöffneter Toolbox und ganz rechts mit dem Befehl Hilfe für den Antrieb angezeigt. Die Hilfe zeigt die Definition des Befehls und Informationen darüber, wie er verwendet wird.

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.

VEXcode V5-Symbolleiste mit geöffnetem Dateimenü und in einem roten Kästchen hervorgehobenen Beispielen. Open Examples ist der vierte Menüpunkt unter New Blocks Project, New Text Project und Open.

  • Verwenden Sie die Filterleiste oben in der Anwendung und wählen Sie „Erfassen“.

Ein Beispiel für ein Projektauswahlfenster in VEXcode V5 zeigt den oben ausgewählten Sensing-Filter, der durch ein rotes Feld hervorgehoben wird. Nachfolgend finden Sie einige Beispiele für Projektsymbole.

Wählen Sie das Beispielprojekt Detecting Objects (Vision) aus und öffnen Sie es.

Das Beispielprojektsymbol lautet Detecting Objects Vision unten und zeigt ein Robotersymbol mit einem Sensor links und einer Skizze, die die Erkennung rechts anzeigt.

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.

Lehrer-Tipps-Symbol 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

Das Konfigurationsfenster des Vision Sensors zeigt ein Bild einer Hand, die einen roten Würfel auf der linken Seite hält, mit einer Überlagerung auf dem Würfel und den Worten REDBOX und W142 H142 darüber. Rechts sind 3 Farbsignaturen für BlueBox, Redbox und Greenbox eingestellt.

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

Lehrer-Tipps-Symbol Lehrertipps

Die drei farbigen Objekte müssen keine Würfel sein, sie können jedes relativ kleine grüne, rote und blaue Objekt sein.

Motivations-Diskussionssymbol 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:

  1. Was sind die Schritte zur Konfiguration des Vision-Sensors?

  2. Was macht die if else Struktur?

  3. 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:

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

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

  3. 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 Lernsymbol Erweitern Sie Ihr Lernen - Konfigurieren Sie mehr Objekte

Wählen Sie zwei andere zu konfigurierende farbige Objekte, möglicherweise weiß, lila, gelb usw....

Das Konfigurationsfenster des Vision Sensors zeigt den Schnappschuss auf der linken Seite mit einer Hand, die ein gelbes Zahnrad hält. Auf dem gelben Zahnrad befindet sich eine quadratische Überlagerung und die Daten lauten Yellow box, X90 y 62, w102, h 98. Nach rechts werden die Farbsignaturen für Bluebox, Redbox, Greenbox und Yellowbox gesetzt.

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.

Vision Sensor-Konfigurationsfenster mit einer Hand, die einen roten Würfel mit einer Überlagerung über dem Würfel hält und Text liest Redbox und x84 y 28 dann w 158 h 166. Auf der rechten Seite werden Bluebox-, Redbox- und Greenbox-Farbsignaturen mit einem Schieberegler eingestellt, der in einem roten Feld hervorgehoben ist, wobei das Zifferblatt auf 4,4 eingestellt ist.

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

V5 Clawbot auf einem Feld mit dem Arm nach unten und der Klaue offen um eine violette Schachtel.

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

Motivations-Diskussionssymbol 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 Lernsymbol 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.

Vision Sensor Utility-Schnittstelle, die zwei Hände zeigt, die eine Greenbox und eine Redbox im Fenster auf der linken Seite halten. Jeder farbige Würfel hat eine Überlagerung mit Daten. Rechts sind die Signaturen für Bluebox, Redbox, Greenbox und Yellowbox gesetzt.

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?