Skip to main content

Lektion 1: Was ist ein Stoßfängersensor?

In dieser Lektion erfahren Sie, was ein Sensor ist und warum Sie Sensoren mit einem VR-Roboter verwenden würden. Der erste Sensor, den Sie kennenlernen werden, ist der Stoßfängersensor. Sie erfahren, wie der Stoßfängersensor funktioniert und wie Sie die VR-Roboterstoßfängersensoren in einem VEXcode VR Python-Projekt verwenden.

Lernergebnisse

  • Stellen Sie fest, dass der Stoßfängersensor eine Art Schalter ist, der sich melden kann, wenn er gedrückt wird oder nicht.
  • Stellen Sie fest, dass der Stoßstangensensor verwendet werden kann, um eine VR-Roboteraktion zu verursachen, wenn er gedrückt wird oder nicht gedrückt wird.
  • Stellen Sie fest, dass es sich bei left_bumper.pressed und right_bumper.pressed um Befehle handelt, die einen Booleschen Wert über den Bumper Sensor melden.
  • Beschreiben Sie, warum der Stoßfängersensor in einem Projekt verwendet wird.

Anwenden

Sensoren sind für die Robotik unerlässlich. Damit ein VR-Roboter wirklich als Roboter betrachtet werden kann, muss er in der Lage sein, seine Umgebung zu erfassen und mit ihr zu interagieren. Dies wird gemeinhin als Sense → Think → Act-Entscheidungsschleife bezeichnet.

Ein Diagramm, das einen kontinuierlichen Zyklus mit drei durch Pfeile verbundenen Stufen zeigt. Die erste Stufe mit der Bezeichnung Sense umfasst den Text Sense the Environment, der angibt, dass der Prozess mit dem Sammeln von Informationen aus der Umgebung beginnt. Um zum nächsten Schritt mit der Bezeichnung Think zu gelangen, lautet der Text Make Decisions Based on Sensor Data from Environment (Entscheidungen auf der Grundlage von Sensordaten aus der Umgebung treffen), was darauf hindeutet, dass dieser Schritt die Verarbeitung der erfassten Informationen beinhaltet, um Entscheidungen zu treffen. Die letzte Phase mit der Bezeichnung Act umfasst den Text Entscheidungen durchführen, aus dem hervorgeht, dass auf der Grundlage der Entscheidungen Maßnahmen ergriffen werden. Die Pfeile bilden eine Schleife, die den Prozess zurück in die Sense-Phase bringt und einen fortlaufenden Zyklus des Erfassens, Denkens und Handelns darstellt.

Ein VR-Roboter verwendet Sensoren, um Daten aus seiner Umgebung zu sammeln (Sense), Entscheidungen auf der Grundlage dieser Informationen zu  treffen (Think) und diese Informationen in Anweisungen für Verhaltensweisen umzuwandeln (Act).

Sensoren ermöglichen es einem VR-Roboter, mit seiner Umgebung zu interagieren, und ermöglichen es dem Benutzer, dynamischere Projekte zu erstellen. Diese dynamischen Projekte erfordern einen VR-Roboter, um mit sich ändernden Umgebungen zu interagieren und darauf zu reagieren.

Der Stoßfängersensor

In diesem Gerät verwenden Sie den Stoßstangensensor, einen Sensor, der physischen Kontakt erkennen kann. Der Stoßfängersensor wird verwendet, um einen VR-Roboter zu informieren, wenn er mit einem Objekt oder einer Wand in Kontakt gekommen ist. Ein VR-Roboter kann dann die gemeldeten Informationen des linken oder rechten Stoßfängersensors verwenden, um Entscheidungen zu treffen.

Der VR-Roboter verfügt über zwei Stoßfängersensoren an der Vorderseite.

Eine Vorderansicht des VR-Roboters. Die beiden Stoßfängersensoren auf der Vorderseite sind mit roten Kästchen hervorgehoben.

Ein Stoßfängersensor ist ein Schalter, der meldet, ob er gedrückt wird oder nicht.

  • Der Stoßstangensensor meldet einen Sensorwert von True , wenn der Stoßstangensensor gedrückt wird.
  • Der Stoßstangensensor meldet einen Sensorwert von Falsch , wenn der Stoßstangensensor nicht gedrückt wird.

Der Stoßfängersensor wird von Wänden im Wandlabyrinth-Spielplatz oder von den Außenwänden, die andere Spielplätze umgeben, gedrückt.

Der VR-Roboter im Wandlabyrinth Spielplatz. Der Roboter schaut auf eine Wand davor, was darauf hinweist, dass er sich drehen muss, um sich vorwärts bewegen zu können.

Lesen Sie den Artikel Stoßfängersensor - Roboterfunktionen - vex VR, um detaillierte Informationen zur Funktionsweise des Stoßfängersensors zu erhalten.

Gedrückte Bumper-Befehle

Der Stoßfängersensor wird verwendet, um festzustellen, ob der VR-Roboter ein Objekt oder eine Wand berührt. Diese Daten können dann in einem Projekt verwendet werden, damit der VR-Roboter eine Entscheidung treffen kann, wenn der Stoßfängersensor gedrückt wird. 

Verwenden Sie die Befehle left_bumper.pressed und right_bumper.pressed in einem Textprojekt, um den Zustand des Stoßfängersensors zu überprüfen.

Left_bumper.pressed und right_bumper.pressed sind Boolesche Reporterbefehle, die True melden, wenn der Bumper gedrückt wird, und False, wenn er nicht gedrückt wird.

Zwei auf die Stoßstange gedrückte Befehle werden in zwei Reihen geschrieben, um den Unterschied zwischen linker und rechter Stoßstange anzuzeigen. In der oberen Reihe liest der Befehl den rechten Unterstrich des gedrückten Stoßfängers (). In der unteren Reihe liest der Befehl den linken Unterstrich des gedrückten Stoßfängers ().

Die Befehle left_bumper.pressed und right_bumper.pressed werden normalerweise mit einer Kontrollstruktur verwendet, wie etwa einer while Schleife, sodass der VR-Roboter die Daten vom Stoßfängersensor verwenden kann, um eine Entscheidung zu treffen. In der nächsten Lektion erfahren Sie mehr über  while-Schleifen. 

Der Stoßfängersensor und das Problem des Wandlabyrinths

Wenn man an das Problem mit dem Wandlabyrinth denkt, ist das Ziel, den VR-Roboter anzutreiben, während der Stoßstangensensor nicht gedrückt wird. Wenn der Stoßstangensensor gedrückt wird, hat der VR-Roboter eine Wand erreicht und muss dann anhalten oder sich drehen, um im Labyrinth fortzufahren. 

Im folgenden Beispiel fährt der VR-Roboter vom Startort vorwärts, bis der linke Stoßfänger gedrückt wird, wenn er die gegenüberliegende Wand erreicht. Sobald der linke Stoßfänger gedrückt wird, stoppt der VR-Roboter die Fahrt. 

Videodatei

Sie werden feststellen, dass das Dashboard den Wert anzeigt, den der Stoßfängersensor in Echtzeit meldet, während das Projekt ausgeführt wird. Wenn der Stoßfängersensor nicht gedrückt wird, wird der Wert als Falsch gemeldet.

# Projektcode in "" main"
def main() hinzufügen:
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC
	) 	drivetrain.stop ()

# VR-Threads -
vr_thread(main() nicht löschen)
Der Wandlabyrinth-Spielplatz mit dem Armaturenbrett des Spielplatzes und dem VR-Roboter befindet sich in der Ausgangsposition und berührt keine der Wände. Die Stoßstangensensoren im Armaturenbrett des Spielplatzes sind mit einem roten Kästchen markiert, das False meldet und angibt, dass sie beide nicht gedrückt werden.

Wenn der Stoßstangensensor gedrückt wird und der VR-Roboter an der Wand anliegt, wird der Wert als Wahr gemeldet.

# Projektcode in "" main"
def main() hinzufügen:
	while not left_bumper.pressed():
		drivetrain.drive(FORWARD)
		wait(5, MSEC
	) 	drivetrain.stop ()

# VR-Threads -
vr_thread(main() nicht löschen)
Der Wandlabyrinth-Spielplatz zeigt das Armaturenbrett des Spielplatzes, wenn die Vorderseite des VR-Roboters eine Wand berührt. Die Stoßstangensensoren im Armaturenbrett des Spielplatzes sind mit einem roten Kästchen hervorgehoben, das True meldet und angibt, dass beide gedrückt werden.

Sie können das Dashboard jederzeit verwenden, um Sensordaten während der Ausführung Ihres Projekts zu visualisieren. Beachten Sie, dass das Dashboard jederzeit ausgeblendet und wieder geöffnet werden kann, wie in diesem Video gezeigt. Im Videoclip unten wird das Hamburger-Menü in der oberen linken Ecke des Playground-Fensters ausgewählt, um die Dashboard-Schaltfläche darunter anzuzeigen. Die Dashboard-Schaltfläche wird dann ausgewählt und das Dashboard wird geöffnet. Dieser Vorgang wird wiederholt, um das Dashboard zu schließen.

Videodatei

Fragen

Bitte wählen Sie unten einen Link aus, um auf das Lektionsquiz zuzugreifen.

Google Doc / .docx / .pdf