Skip to main content

Lektion 1: Was ist ein Abstandssensor?

In dieser Lektion erfahren Sie, was der Abstandssensor ist und warum Sie den Abstandssensor mit einem VR-Roboter verwenden würden. Sie erfahren auch, wie der Abstandssensor funktioniert und wie Sie den Abstandssensor in einem VEXcode VR Python-Projekt verwenden.

Lernergebnisse

  • Stellen Sie sicher, dass der Abstandssensor den Abstand zwischen dem Sensor selbst und dem nächstgelegenen Objekt meldet.
  • Stellen Sie fest, dass der Abstandssensor die Entfernung bestimmt, indem Sie die Zeit verwenden, die ein Laserlichtimpuls benötigt, um von einem Objekt zu reflektieren und zum Sensor zurückzukehren.
  • Beachten Sie, dass der Befehl found_object einen Booleschen Wert meldet, ob der Entfernungssensor ein Objekt gefunden hat oder nicht.
  • Beachten Sie, dass der Befehl get_distance  die Entfernung des nächsten Objekts vom Sensor in Millimetern (mm) oder Zoll meldet.
  • Beschreiben Sie, warum der Abstandssensor in einem Projekt verwendet wird.

Abstandssensor

Der Abstandssensor kann erkennen, ob sich ein Objekt vor einem VR-Roboter befindet und wenn ja, wie weit dieses Objekt vom Abstandssensor entfernt ist. Dies kann hilfreich sein, um durch ein Labyrinth zu navigieren, ohne ständig gegen die Wände zu stoßen, einem Objekt auszuweichen oder zu einem Objekt oder einer Wand auf den Spielplätzen zu fahren.

In diesem Gerät verwenden Sie den Abstandssensor, einen Sensor, der einen Laserlichtimpuls verwendet, um Objekte zu erkennen. Der Abstandssensor meldet den Abstand zwischen der Vorderseite des Abstandssensors am VR-Roboter und dem nächstgelegenen Objekt. Der Abstandssensor befindet sich im vorderen Auge des VR-Roboters. Genau wie der Stoßstangensensor kann der VR-Roboter die Daten des Abstandssensors nutzen, um Entscheidungen zu treffen. 

Eine Vorderansicht des VR-Roboters mit dem Abstandssensor in der vorderen Mitte des Roboters, der mit einem roten Kästchen hervorgehoben ist.

Der Abstandssensor berechnet die Entfernung anhand der Zeit, die ein Laserlichtimpuls benötigt, um von einem Objekt zu reflektieren und zum Sensor zurückzukehren. Der Abstandssensor kann verwendet werden, um zu erkennen, wie weit der VR-Roboter von den Wänden im Wandlabyrinth-Spielplatz entfernt ist.

Ein Bild von oben nach unten des VR-Roboters gegenüber dem mittleren Blockstapel wie auf dem Castle Crasher Playground. Es gibt eine Reihe von roten und grünen gekrümmten Linien zwischen der Vorderseite des Roboters und den Blöcken. Die roten zeigen das Signal, das vom Sensor zum Objekt gesendet wird, und die grünen zeigen das Signal, das vom Objekt zum Sensor zurückprallt, um die Entfernung zu berechnen.

Befehl "Entfernung gefundenes Objekt"

Der Abstandssensor kann verwendet werden, um zu erkennen, ob sich ein Objekt (wie eine Wand) davor befindet. Diese Daten können dann in einem Projekt verwendet werden, damit der VR-Roboter eine Entscheidung treffen kann, wenn der Abstandssensor ein Objekt erkennt.

Verwenden Sie den Befehl found_object in einem Python-Projekt, um den Zustand des Abstandssensors zu überprüfen. Der Befehl found_object gibt Boolesche Werte von True oder False zurück, je nachdem, ob ein Objekt vom Sensor erkannt wird.

VEXcode VR Python Abstand Objekt gefunden Befehl liest Abstand Punkt gefunden Unterstrich Objekt ( ).

  • found_object gibt True zurück , wenn der Abstandssensor ein Objekt oder eine Oberfläche in seinem Sichtfeld und innerhalb von 3000 mm um den Sensor erkennt.
  • found_object gibt False zurück , wenn der Abstandssensor ein Objekt oder eine Oberfläche innerhalb von 3000 mm nicht erkennt.

Der Befehl found_object  wird normalerweise mit einer Kontrollstruktur wie einer while -Schleife verwendet, damit der VR-Roboter die Daten vom Distanzsensor verwenden kann, um eine Entscheidung zu treffen.

Wenn der Befehl found_object in einem Projekt verwendet wird, sollte der verwendete Distanzsensor angegeben werden. Im Wall Maze Playgroundist am VR Robot nur der vordere Distanzsensor verfügbar. Wenn der Befehl found_object aus der Toolbox in ein Projekt gezogen wird, gibt der Befehl found_object automatisch den verwendeten Distanzsensor an, wie hier gezeigt. Im Videoclip unten wird der Befehl found_object in der Toolbox ausgewählt und in den Arbeitsbereich gezogen. Wenn es im Projekt erscheint, erscheint der Befehl mit dem Gerät, das automatisch als "front_distance" geschrieben wird.

Videodatei

Entfernungsbefehl abrufen

Der Abstandssensor kann auch die Entfernung eines Objekts melden und diesen Wert verwenden, um eine Entscheidung zu treffen. Der Befehl get_distance gibt die numerische Entfernung des nächstgelegenen Objekts von der Vorderseite eines VR-Roboters zurück.

Wählen Sie, ob der Abstand in Millimetern (mm) oder Zoll angegeben wird, indem Sie den Parameter auf "MM" oder "ZOLL" setzen.

Die VEXcode VR Python Get distance Befehle werden zweimal geschrieben - die erste Zeile zeigt den Befehl mit dem auf Millimeter eingestellten Parameter, die zweite Zeile zeigt den Befehl mit dem auf Zoll eingestellten Parameter.

Der Befehl get_distance kann zusammen mit anderen Befehlen, etwa einer while -Schleife, in einem Projekt verwendet werden, um einen VR-Roboter anzuweisen, eine bestimmte Distanz von einem Objekt wegzufahren (oder darauf zu), oder eine Aktion auszuführen, wenn eine bestimmte Distanz gemeldet wird.

Wenn der Befehl get_distance in einem Projekt verwendet wird, sollte der verwendete Distanzsensor angegeben werden. Im Wall Maze Playgroundist am VR Robot nur der vordere Distanzsensor verfügbar. Wenn der Befehl get_distance aus der Toolbox in ein Projekt gezogen wird, gibt der Befehl get_distance automatisch den verwendeten Distanzsensor an, wie hier gezeigt. Im Videoclip unten wird der Befehl get_distance in der Toolbox ausgewählt und in den Arbeitsbereich gezogen. Wenn es im Projekt erscheint, erscheint der Befehl mit dem Gerät, das automatisch als "front_distance" geschrieben wird.

Videodatei

Der Abstandssensor und das Problem des Wandlabyrinths

Wenn man über das Problem des Wandlabyrinths nachdenkt, ist das Ziel, den VR-Roboter zu fahren, während er weit von einer Wand entfernt ist. Wenn sich der VR-Roboter einer Wand nähert, muss er anhalten oder sich drehen, ohne die Wand zu berühren, um durch das Labyrinth zu gelangen. Die Verwendung des Abstandssensors ermöglicht es einem VR-Roboter, an ein Objekt heranzufahren, ohne es zu berühren.

Im folgenden Videoclip-Beispiel fährt der VR-Roboter vorwärts, während der Abstandssensor meldet, dass er mehr als 50 Millimeter von einem Objekt entfernt ist. Sobald er weniger als 50 Millimeter entfernt ist, hört der VR-Roboter auf zu fahren. Beachten Sie, dass der VR-Roboter die Wand nicht berührt.

Videodatei

Sie werden feststellen, dass das Dashboard den Wert anzeigt, den der Abstandssensor in Echtzeit meldet, während das Projekt ausgeführt wird. Wenn der Wert größer als 50 Millimeter ist, fährt der VR-Roboter weiter vorwärts.VEXcode VR mit dem Workspace links und dem Playground-Fenster rechts. Im Playground-Fenster befindet sich der VR-Roboter am Startort, nicht in der Nähe einer Wand. Oben im Spielplatzfenster ist das Armaturenbrett geöffnet, und ganz rechts wird die Entfernung mit 287 mm angegeben und in einem roten Feld hervorgehoben.

Wenn der Abstandssensor einen Wert von weniger als 50 Millimeter meldet, befindet sich der VR-Roboter in der Nähe der Wand, ohne sie zu berühren, und hört auf zu fahren. VEXcode VR mit dem Workspace links und dem Playground-Fenster rechts. Im Playground-Fenster ist der VR-Roboter vorwärts gefahren und wird nun in der Nähe der ersten Wand gestoppt. Oben im Spielplatzfenster ist das Armaturenbrett geöffnet, und ganz rechts wird die Entfernung mit 27 mm angegeben und in einem roten Feld hervorgehoben.

In diesem Beispiel wird der Befehl get_distance  mit einem Vergleichsoperator verwendet, um in einer Schleife einen booleschen Wert zurückzugeben. In dieser Einheit erfahren Sie mehr über die Operatoren größer als (>>) und kleiner als ( ).

Fragen

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

Google Doc / .docx / .pdf