Verwendung des Abstandssensors mit VEX EXP

Der Distanzsensor ist einer der leistungsstarken Sensoren, die für die vollständige Integration in die EXP-Robotikplattform konzipiert sind. Dieser Sensor verwendet einen klassenzimmersicheren Laserlichtimpuls, um den Abstand von der Vorderseite des Sensors zu einem Objekt zu messen.

VEX-Distanzsensor-Teil.


Beschreibung des Sensors

Der Abstandssensor verfügt über die folgenden Funktionen:

  • Messabstand: Der Sensor verwendet einen Impuls klassenzimmersicheren Laserlichts, um den Abstand von der Vorderseite des Sensors zu einem Objekt zu messen. Der Abstand wird auf dem Sensor-Dashboard des Brain in Zoll oder Zentimetern und in VEXcode EXP in Zoll oder Millimetern angegeben.
  • Objekt erkennen: Der Sensor kann auch zur Erkennung der Nähe eines Objekts verwendet werden.
  • Relative Objektgröße ermitteln: Der Sensor kann auch zur Bestimmung der relativen Größe eines erkannten Objekts verwendet werden. Die ungefähre Größe eines Objekts wird als klein, mittel oder groß angegeben.
  • Objektgeschwindigkeit melden: Mit dem Sensor kann die Geschwindigkeit in Metern pro Sekunde für ein Objekt, das sich dem Sensor nähert, oder für den Sensor, der sich einem Objekt nähert, berechnet und gemeldet werden.

Schema eines Distanzsensors, der mit zwei Schrauben an einem Trägerteil befestigt wird.

Die Rückseite des Sensorgehäuses verfügt über fünf Löcher, um eine flexible Montage des Sensors an einem Roboter zu ermöglichen.

Abstandssensor mit hervorgehobenem Messfenster. Das Fenster ist etwas in die Vorderseite des Sensors eingelassen. Auf einem Etikett steht: Fenster für Laser.

Auf der Vorderseite des Sensors befindet sich ein kleines Fenster, durch das der Laserstrahl ausgesandt und dann empfangen wird, um die Entfernung zu messen.

Diagramm eines EXP-Gehirns, das mit einem VEX-Distanzsensor verbunden ist.

Damit der Distanzsensor mit dem EXP Brain funktioniert, müssen der Smart Port des Sensors und der Smart Port eines EXP Brain über ein Smart Cable verbunden werden.

Der Sensor funktioniert mit jedem der 10 Smart Ports am EXP Brain.

Wenn Sie ein EXP Smart Cable an die Anschlüsse anschließen, stellen Sie sicher, dass der Stecker des Kabels vollständig in den Anschluss eingesteckt ist und die Verriegelungslasche des Steckers vollständig eingerastet ist.


So funktioniert der Abstandssensor

Der Abstandssensor sendet einen klassenzimmersicheren Laserlichtimpuls aus und misst die Zeit, die der Impuls benötigt, um reflektiert zu werden. Dies ermöglicht eine Entfernungsberechnung.

Der Laser der Klasse 1 des Sensors ähnelt den Lasern, die in modernen Mobiltelefonen zur Kopferkennung verwendet werden. Der Laser ermöglicht dem Sensor ein sehr schmales Sichtfeld, sodass die Erkennung immer direkt vor dem Sensor erfolgt.

Der Messbereich des Sensors beträgt 20 Millimeter (mm) bis 2.000 Millimeter (mm) (0,79 Zoll bis 78,74 Zoll). Unterhalb von 200 Millimetern (mm) beträgt die Genauigkeit etwa +/‐15 Millimeter (mm); über 200 Millimeter (mm) beträgt die Genauigkeit etwa 5 %.

Der Distanzsensor muss mit VEXcode EXP gekoppelt werden, um ein Benutzerprogramm für das EXP Brain zu erstellen, das die Messwerte des Sensors zur Steuerung des Roboterverhaltens nutzt.

Das EXP Brain kann in Verbindung mit einem Benutzerprojekt verwendet werden, um die Messwerte des Distanzsensors umzuwandeln in:

  • Abstand zu einem Objekt, gemessen in Zentimetern, Millimetern oder Zoll.
  • Objektgeschwindigkeit in Metern pro Sekunde.
  • Die Objektgröße ist klein, mittel oder groß.
  • Objekt gefunden.

Einrichtung des Abstandssensors

Platzierung

BaseBot-Konstruktion mit angebrachtem Abstandssensor, der hervorgehoben ist und nach vorne zeigt.

Die Platzierung des Abstandssensors ist sehr wichtig, um genaue Messwerte zu erhalten.

Stellen Sie sicher, dass sich keine Struktur am Roboter vor dem kleinen Sensorfenster auf der Vorderseite des Sensors befindet.

Vor dem Sensor muss ein freier Weg zwischen dem zu messenden Objekt und dem Sensor vorhanden sein.

Werte des Abstandssensors lesen

Im Menü „Geräte“ wird der Bildschirm „Gehirn“ angezeigt, wobei ein Distanzsensor ausgewählt ist.

Es ist hilfreich, den Gerätebildschirm auf dem EXP Brain zu verwenden, um die Informationen anzuzeigen, die der Distanzsensor meldet.

Vom Sensor-Dashboard aus meldet das Distanzsensor-Dashboard die Distanz des nächsten Objekts entweder in Zoll oder Zentimetern.

Die Einheiten können geändert werden, indem Sie die Schaltfläche „Häkchen“ auf dem Brain auswählen, um zwischen Zoll und Zentimetern zu wechseln.

Befolgen Sie die Schritte in diesem Artikel, um das Sensor-Dashboard zu verwenden. 


Hinzufügen des Distanzsensors als Gerät in VEXcode EXP

Wenn ein Sensor mit einer Programmiersprache verwendet wird, muss er in dieser Sprache konfiguriert werden. 

VEXcode EXP Geräte-Menü, nachdem die Schaltfläche "Gerät hinzufügen" ausgewählt wurde. Die Option „Entfernung“ ist hervorgehoben.

Mit VEXcode EXP wird dies durch die Verwendung der Funktion „Gerät hinzufügen“ im Fenster „Geräte“ erreicht.

Um den Distanzsensor zur Konfiguration hinzuzufügen, befolgen Sie die Schritte in diesem Artikel. 

Screenshot von VEXcode EXP mit geöffnetem Gerätemenü. Ein angeschlossener Distanzsensor wird im Menü „Geräte“ aufgelistet und hervorgehoben. Die Blocks Toolbox ist geöffnet und die Blockkategorie „Distanzmessung“ ist hervorgehoben.

Sobald der Distanzsensor zu Ihrem Projekt hinzugefügt wurde, wird ein neuer Satz Sensorblöcke verfügbar.

Weitere Informationen zu den Blöcken aus der Kategorie „Erfassung“, die sich auf den Distanzsensor beziehen, finden Sie in den Hilfeinformationen (Blöcke-Projekt).


Allgemeine Verwendungszwecke des Abstandssensors

Der Abstandssensor kann mehrere Messungen erzeugen, die zur Änderung des Verhaltens des Roboters verwendet werden können. Zu diesen Funktionen gehören:

Erkennen Sie ein Objekt

VEXcode EXP-Blöcke, ein Projekt, das einen Distanzsensor verwendet, um ein Objekt zu finden und dann darauf zuzufahren. Im Projekt heißt es: Nach dem Start rechts abbiegen, warten, bis Distance7 ein Objekt gefunden hat, und dann 400 mm vorwärts fahren.

Mit dieser Funktion kann Ihr Roboter ein Objekt erkennen, wenn es in die Reichweite des Abstandssensors gelangt. Der Abstandssensor meldet ein gefundenes Objekt, wenn es weniger als 1000 mm entfernt ist.

Das links gezeigte Beispielprojekt wird verwendet, um einen Roboter mit einem an der Vorderseite angebrachten Abstandssensor so zu codieren, dass er sich dreht, bis er ein Objekt, beispielsweise einen Würfel, erkennt, und dann vorwärts fährt, sobald das Objekt vom Sensor erkannt wird.

Abstand zu einem Objekt

VEXcode EXP-Blöcke, ein Projekt, das einen Distanzsensor verwendet, um den Roboter auf ein Objekt zuzusteuern und es dann mit der Greifklaue zu greifen. Im Projekt heißt es: Nach dem Start fahren Sie vorwärts und warten dann, bis der Abstand zwischen Objekten in der Distanz 7 in mm weniger als 75 beträgt. Zum Schluss die Fahrt stoppen und den ClawMotor um 25 Grad schließen.

Dies ermöglicht eine Messung zwischen der Vorderseite des Sensors und einem Objekt oder einer Barriere/Wand.

Das links gezeigte Beispielprojekt dient der Codierung eines Roboters mit einem an der Vorderseite montierten Distanzsensor und einer daran befestigten Klaue. Der Roboter fährt, bis er erkennt, dass ein Objekt weniger als 75 mm vom Sensor entfernt ist, und schließt dann die Klaue um das Objekt. Dieses Beispiel wäre hilfreich, wenn bekannt ist, dass sich ein Objekt vor dem Roboter befindet und Sie möchten, dass der Roboter vorwärts fährt, um dieses Objekt einzusammeln. 

Um festzustellen, wie weit ein Objekt vom Sensor entfernt ist, und um diesen Parameter im Projekt zu verwenden, verwenden Sie das Sensor-Dashboard auf dem EXP Brain. Weitere Informationen zur Verwendung des Sensor Dashboards finden Sie in diesem Artikel.

Objektgeschwindigkeit melden

VEXcode EXP-Blockprojekt, das einen Distanzsensor und Print-Blöcke verwendet, um die Geschwindigkeit eines Objekts live auszugeben. Im Projekt heißt es: Stellen Sie beim Start die Druckgenauigkeit auf Brain auf 0,1 ein. Als nächstes folgt eine Endlosschleife mit 5 Blöcken. Die 5 Blöcke lauten: Alle Zeilen im Gehirn löschen, Cursor auf Zeile 1 Spalte 1 im Gehirn setzen, Distance7 Objekt gefunden im Gehirn ausgeben und Cursor auf die nächste Zeile setzen, Distance7 Objektgeschwindigkeit in m/s im Gehirn ausgeben und schließlich 0,25 Sekunden warten.

Diese Funktion ermöglicht eine Messung der Geschwindigkeit in Metern pro Sekunde für ein Objekt, das sich dem Sensor nähert, oder für den Sensor, der sich einem Objekt nähert.

Um die Geschwindigkeitsänderung bei Annäherung eines Objekts zu beobachten, kann das Beispiel links verwendet werden. In diesem Projekt werden Informationen auf dem Bildschirm des Gehirns gedruckt. Das Gehirn druckt, wenn ein Objekt vom Distanzsensor erkannt wird, und gibt die Geschwindigkeit dieses Objekts in Metern/Sekunde an. Um diese sich ändernden Zahlen genauer sehen zu können, ist die Druckgenauigkeit auf 0,1 eingestellt. 

Testen Sie dieses Projekt, indem Sie einen Würfel näher und weiter vom Sensor entfernen. Wenn sich Objekt und/oder Sensor voneinander entfernen, sind die Geschwindigkeitswerte negativ.

Bestimmen Sie die relative Größe des Objekts

VEXcode EXP-Blockprojekt, das einen Distanzsensor und Print-Blöcke verwendet, um die Größe eines Objekts live zu melden. Das Projekt besteht aus einem "Wenn gestartet"-Block, gefolgt von einer Endlosschleife mit 13 Befehlen. Die ersten drei Befehle in der Forever-Schleife lauten: Alle Zeilen in Brain löschen, Cursor auf Zeile 1 Spalte 1 in Brain setzen und Objektgröße in Brain ausgeben und Cursor auf die nächste Zeile setzen. Als Nächstes folgt ein If-Block mit der Frage: Wenn Distance7 ein Objekt gefunden hat? Innerhalb dieses ersten If-Blocks befindet sich ein zweiter If-Block, der mit einer Else-If-Anweisung und einer Else-Anweisung verbunden ist. Diese inneren If-Anweisungen lauten zusammen: Wenn die Objektgröße von Distance7 klein ist, dann gib "Klein" auf "Gehirn" aus, andernfalls wenn die Objektgröße von Distance7 mittel ist, dann gib "Mittel" auf "Gehirn" aus, und andernfalls gib "Groß" auf "Gehirn" aus. Auf den ersten If-Block folgt eine Else-Anweisung mit dem Inhalt else print "Kein Objekt auf Brain gefunden". Schließlich befindet sich außerhalb beider If-Anweisungen ein Wait-Block mit der Anweisung "Warte 0,25 Sekunden".

Mit dieser Funktion kann Ihr Roboter ein Objekt je nach Sensormesswert als klein, mittelgroß oder groß identifizieren.

Dieses Beispiel auf der linken Seite verwendet die Blöcke [If then else] und [Print], um die relative Größe eines Objekts auf dem Brain zu drucken. Platzieren Sie verschiedene Objekte vor dem Sensor und sehen Sie sich die Messwerte auf dem Brain-Bildschirm an, um die Größenerkennung in Echtzeit zu sehen.

Um die relative Größe eines Objekts zu bestimmen, nutzt der Sensor Informationen über die Lichtmenge, die am Sensor zurückreflektiert wird. Objekte sollten zwischen 100 mm und 300 mm (ca. 4–12 Zoll) vom Sensor entfernt platziert werden, um eine möglichst genaue Darstellung der Größe zu erhalten.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: