Skip to main content

Lektion 2: Verwenden des Vorderaugensensors mit While Loops

In dieser Lektion erstellen Sie ein Projekt mit dem Front Eye Sensor mit einer while-Schleife und ohne Bedingung , um den VR-Roboter durch den Disk Maze Playground zu navigieren. Ihr Projekt weist den VR-Roboter an, sich nach rechts zu drehen, wenn eine grüne Scheibe vom Front Eye Sensor erkannt wird, und nach links, wenn eine blaue Scheibe erkannt wird. In der Mini-Challenge wendest du diese Fähigkeiten an, um den VR-Roboter auf jede Festplatte im Disk Maze Playground zu fahren und auf der roten Festplatte zu beenden.

Seitenansicht des VR-Roboters auf dem Disk Maze Playground mit schwarzen Pfeilen im Hintergrund, die den Weg anzeigen, den der Roboter zurückgelegt hat, um sich von Platte zu Platte zu bewegen. Der Roboter befindet sich am Ende des Labyrinths vor der roten Scheibe.

Lernergebnisse

  • Stellen Sie sicher, dass die while-Schleife mit den Augensensoren verwendet werden kann.
  • Identifizieren Sie, dass eine Bedingung verwendet werden muss, um Augensensordaten zu verwenden, damit der VR-Roboter in einem Projekt eine Entscheidung treffen kann.
  • Beschreiben Sie, wie die Identifizierung eines Musters in einem Projekt verwendet werden kann, um Ihren Code zu vereinfachen.

Navigieren zu den ersten vier Festplatten

Der Front Eye Sensor kann verwendet werden, um den VR-Roboter dazu zu bringen, Festplatten und ihre Farben zu erkennen und Entscheidungen auf der Grundlage dieser Daten zu treffen. Der VR-Roboter kann dann mithilfe von Sensor-Feedback in Bezug auf die Farben der erkannten Objekte durch das Disk-Labyrinth navigieren, um die Bewegung des Roboters zu bestimmen. Im Wesentlichen werden die Front Eye Sensor-Daten verwendet, um die Kurven des VR-Roboters zu "farblich zu kennzeichnen". Wenn also eine Farbe erkannt wird, dreht sie nach links, und wenn eine andere erkannt wird, dreht sie nach rechts.

Schauen wir uns zunächst den Weg an, den der VR-Roboter zurücklegt, um durch den ersten Teil des Disk Labyrinths zu navigieren. Draufsicht auf den Disk-Labyrinth-Spielplatz. Der Roboter befindet sich am Startort. Pfeile zeigen den Weg an, den der Vr-Roboter nehmen wird, indem er das Laufwerk zur ersten grünen Scheibe vorwärts zeigt, nach rechts abbiegt, zur blauen Scheibe fährt, nach links abbiegt, zu einer zweiten blauen Scheibe fährt, nach links abbiegt und an einer dritten blauen Scheibe anhält.

Zur Kenntnisnahme

Der Disk Maze Playground enthält farbige Markierungen auf dem Boden des Playgrounds an jeder der erhöhten farbigen Plattenpositionen.Seitenansicht des VR-Roboters auf dem Disk Maze Playground mit einem schwarzen Pfeil, der anzeigt, dass der Roboter zur grünen Platte fährt und dann nach rechts abbiegt. 

Wir werden den vorderen Augensensor verwenden, um die Scheiben in diesem Gerät zu erkennen, aber die gleiche Logik und das gleiche Projekt könnten auch mit dem unteren Augensensor verwendet werden. Anstatt die angehobenen Scheiben zu erkennen, würde der Down Eye Sensor die Farben auf dem Boden des Spielplatzes erkennen und anhand dieser Daten Entscheidungen treffen. Der Down Eye Sensor erkennt den Boden des Spielplatzes nicht als Objekt, sondern die farbigen Räume. 

Verwenden einer  While-Schleife mit Augensensordaten

In früheren Einheiten wurde die  while-Schleife verwendet, um den VR-Roboter zu fahren, während eine Bedingung erfüllt war, oder eine while-Schleife mit einer NICHT-Bedingung, um zu fahren, während eine Bedingung nicht erfüllt war. Daten von den Augensensoren können auf die gleiche Weise verwendet werden. Schauen wir uns den ersten Schritt im Disk Maze-Pfad an.

 Ansicht von oben nach unten des VR-Roboters auf dem Disk Maze Playground mit einem schwarzen Pfeil, der anzeigt, dass der Roboter direkt gegenüber der Startposition zur grünen Platte fährt und dann nach rechts abbiegt.

Der VR-Roboter sollte vorwärts fahren , während der Vorderaugensensor  kein Grün erkennt. Wenn der Front Eye Sensor Grün erkennt, sollte sich der VR-Roboter um 90 Grad nach rechts drehen, um der nächsten Festplatte im Labyrinth zugewandt zu sein.

Projekt benennen und speichern

Beginnen wir mit dem Erstellen des Projekts, um die  while-Schleife zu verwenden, um den VR-Roboter anzuweisen, sich zu drehen, wenn der Front Eye Sensor die erste (grüne) farbige Festplatte auf dem Disk Maze Playground erkennt.

  • Starten Sie ein neues Projekt und wählen Sie den Disk Maze Playground, wenn Sie dazu aufgefordert werden. Disk Maze Playground Auswahl Kachel von VEXcode VR.
  • Benennen Sie das Projekt Unit7Lesson2.VEXcode VR-Symbolleiste mit dem aufgerufenen Projektnamen-Feld. Der Projektname lautet Einheit 7 Lektion 2.

     

  • Fügen Sie zunächst einen Kommentar hinzu, um das Verhalten des VR-Roboters zu beschreiben. Dieses Projekt verwendet Kommentare, um den Benutzer daran zu erinnern, was die Absicht für das Verhalten des VR-Roboters im folgenden Abschnitt des Projekts ist. Denken Sie daran, dass Kommentare in VEXcode VR Python mit einem # (Pfund) -Symbol beginnen. 
def main():
    # Laufwerk zur 1. Festplatte (grün), rechts abbiegen
  • Der VR-Roboter muss zur ersten Festplatte auf dem Disk Maze Playground fahren. Ziehen Sie eine while -Schleife mit der Bedingung not in den Arbeitsbereich oder geben Sie sie ein. Denken Sie daran, den Befehl wait als Teil der Schleife while einzuschließen, um sicherzustellen, dass der VR-Roboter das Projekt korrekt ausführt.
def main():
    # Drive to 1st disk (green), turn right
    while not condition:
        wait(5, MS)
  • Stellen Sie den Zustand der Schleife auf den Erkennungsbefehl des Vorderaugensensors  ein und stellen Sie den Parameter auf "GRÜN".
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        wait(5, MS)
  • Ziehen Sie in die Schleife while den nicht wartenden Befehl drive oder geben Sie ihn ein, sodass Ihr Projekt folgendermaßen aussieht:
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MS)
  • Ziehen oder geben Sie außerhalb der while-Schleife einen turn_for-Befehl ein, um den VR-Roboter anzuweisen, sich um 90 Grad nach rechts zu drehen, wenn er eine grüne Festplatte erkennt. Ihr Projekt sollte wie folgt aussehen:
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Öffnen Sie das Playground-Fenster , wenn es noch nicht geöffnet ist. Stellen Sie sicher, dass sich der Disk Maze Playground öffnet, und führen Sie das Projekt aus.
  • Beobachten Sie, wie der VR-Roboter vorwärts zur ersten grünen Scheibe fährt und dann nach rechts abbiegt.

    Seitenansicht des VR-Roboters auf dem Disk Maze Playground mit einem schwarzen Pfeil, der anzeigt, dass der Roboter zur grünen Platte fährt und dann nach rechts abbiegt.
  • Beachten Sie, dass der VR-Roboter vorwärts fährt, während der Zustand der Farbe des Vorderaugensensors Falsch meldet. Sobald die grüne Festplatte erkannt wird, meldet die Farbe des Vorderaugensensors True und verlässt die Schleife. Dann führt es den nächsten Befehl aus, der darin besteht, um 90 Grad nach rechts abzubiegen.

Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.