Skip to main content

Lektion 3: Verwenden des berichteten Sensor-Feedbacks, um Festplatten im Ziel zu platzieren

In Lektion 2 fuhr der VR-Roboter rückwärts zurück zum Startpunkt, um die Festplatte abzulegen. Dazu musste der Benutzer die genaue Entfernung berechnen, die der VR-Roboter zurücklegen musste. Dies ist möglicherweise nicht immer möglich. Stattdessen kann der VR-Roboter gemeldete Sensorwerte verwenden, um Scheiben mit gleichbleibender Präzision aufzunehmen und abzulegen. 

Lektion 3 verwendet das gemeldete Sensor-Feedback, um zu bestimmen, wo der VR-Roboter aufhören sollte zu fahren, wenn er zum Ziel zurückkehrt. Wenn Sie den <Eye Sensor near object> Block früher in dieser Lektion verwenden, müssen Sie nicht den Abstand vom Ziel zu jeder Festplatte kennen.

VR-Roboter auf dem Disk Mover Playground mit der ersten blauen Platte, die am Elektromagneten befestigt ist.

Der VR-Roboter fährt mit den Daten des Abstandssensors zurück zum blauen Ziel, um zu bestimmen, wo er aufhören soll zu fahren. Sobald der VR-Roboter innerhalb des blauen Ziels angehalten hat, lässt der VR-Roboter die blaue Festplatte fallen.

  • Arbeiten Sie weiter im Projekt Unit8Lesson3.
  • Der Abstandssensor misst den Abstand von der Vorderseite des VR-Roboters zum nächsten Objekt. Aus diesem Grund muss sich der VR-Roboter um 180 Grad drehen, bevor er zum blauen Ziel zurückfährt.
  • Der VR-Roboter verwendet den Abstandssensor mit der Rückwand des Spielplatzes, um zu bestimmen, wo die Festplatte abgelegt werden soll. Aus diesem Grund muss sich der VR-Roboter um 180 Grad drehen, bevor er zum blauen Ziel zurückfährt.
  • Der Block [Turn to heading] kann verwendet werden, um sicherzustellen, dass sich der VR-Roboter in die richtige Richtung dreht.

    VEXcode VR Wechseln Sie von der Toolbox zum Überschriftenblock. Der Block lautet "In Richtung 90 Grad drehen".

Verwenden von Schalterblöcken 

Dies ist der Block Switch [turn to heading]. Sie können den Grad der Drehung ändern, indem Sie den Zahlenwert in den Klammern ändern. Denken Sie daran, dass die Zahl vor der Maßeinheit (GRAD) geschrieben werden muss, getrennt durch ein Komma. 

VEXcode VR Drehen Sie zum Steuerkurs-Schalterblock, mit dem Python-Befehl, der den Antriebsstrang Dot turn_to_heading (90, GRAD) liest.

Zur Kenntnisnahme

Der Block [Turn to heading] dreht den VR-Roboter mithilfe des Gyro-Sensors in eine bestimmte Richtung. Die Richtung, in die sich der VR-Roboter drehen wird (links oder rechts), wird basierend auf dem aktuellen Kurs des Gyro-Sensors bestimmt. Der Block [Turn to heading] wird verwendet, um den VR-Roboter unabhängig von der Position des VR-Roboters auf eine bestimmte Richtung zu lenken. Wenn Sie eine Festplatte aufnehmen oder fallen lassen, kann der VR-Roboter vom Kurs abkommen. Die Verwendung des Blocks [In die Richtung drehen] stellt sicher, dass sich der VR-Roboter in die absolute Position und nicht in eine Position relativ zur vorherigen Richtung dreht.

Ein Diagramm der Kurspositionen in Grad des VR-Roboters. In der Mitte befindet sich ein Kreis mit einer Draufsicht auf den VR-Roboter, wobei die Vorderseite des Roboters nach oben in Richtung 0 Grad zeigt. Im Uhrzeigersinn ist jeder nachfolgende 90-Grad-Kurs mit 90 Grad, 180 Grad und 270 Grad markiert.
  • Fügen Sie einen [Turn to heading] -Block unter dem dritten Kommentar hinzu.

    Das gleiche VEXcode VR-Projekt wie auf der vorherigen Seite, mit einer Umdrehung zum Überschriftenblock unterhalb des dritten Kommentars. Das Projekt liest jetzt Wenn gestartet, kommentieren Sie Laufwerk zur ersten blauen Festplatte, mit einem Wiederholen, bis das untere Auge sich in der Nähe des Objekts befindet, fahren Sie vorwärts und hören Sie dann auf zu fahren. Als nächstes folgt ein Kommentar, um die erste blaue Scheibe mit einem Elektromagneten zur Verstärkung des Blocks aufzunehmen. Der dritte Kommentar lautet Drive to the Blue Goal und hat eine Abzweigung in Richtung 90-Grad-Block als nächstes.
  • Stellen Sie den Block [Turn to heading] auf 180 Grad.

    Das gleiche VEXcode VR-Projekt mit dem Parameter des Blocks Turn to heading wurde auf 180 Grad geändert. Im dritten Kommentarbereich des Projekts heißt es nun: Fahren Sie zum blauen Ziel, drehen Sie sich in Richtung 180 Grad.
  • Nun, da der VR-Roboter auf die Ausgangsposition ausgerichtet ist, muss der VR-Roboter zurück zum blauen Ziel fahren. Fügen Sie einen [Repeat until] -Block unter dem [Turn to heading] -Block hinzu.

    Das gleiche VEXcode VR-Projekt mit einem Repeat until -Block, der nach dem Turn to heading -Block hinzugefügt wurde. Der Parameter des Blocks Repeat until ist leer.
  • Um zum blauen Ziel zurückzukehren, verwendet der VR-Roboter Daten vom Abstandssensor, um festzustellen, wann sich der VR-Roboter innerhalb des blauen Ziels befindet. Wie in der vorherigen Lektion besprochen, misst jedes Rasterquadrat auf dem Disk Mover Playground 200 Millimeter (mm) mal 200 Millimeter (mm).

    Eine Nahansicht von oben auf die untere linke Ecke des Disk Mover Playground mit den Abmessungen eines Gitterquadrats auf dem Spielplatz, das 200 mm hoch und 200 mm breit ist.
  • Mit diesen Messungen kann die Mitte des blauen Tores auf etwa 200 Millimeter (mm) von der Wand des Spielplatzes bestimmt werden.

    Eine Nahansicht von oben auf das blaue Tor in der linken unteren Ecke des Disk Mover Playground, wobei die ungefähre Abmessung von der Wand bis zur Mitte des Tores mit 200 mm bezeichnet ist.
  • Der VR-Roboter sollte aufhören zu fahren, wenn der Abstandssensor meldet, dass der VR-Roboter weniger als 200 Millimeter (mm) von der Wand des Spielplatzes entfernt ist. Fügen Sie dem Block [Wiederholen bis] die folgenden Blöcke hinzu.

    Das gleiche VEXcode VR-Projekt mit einem Less than Operator-Block mit einem Nest Front-Abstand in mm im Parameter des Repeat until-Blocks. Im dritten Kommentarbereich des Projekts heißt es nun Fahren Sie zum blauen Ziel; drehen Sie um 180 Grad; Wiederholen Sie dies, bis der vordere Abstand in mm kleiner als 50 ist.
  • Ändern Sie den Parameter im <Less than> Block auf 200.

    Das gleiche Projekt, wobei der Parameter des weniger als -Blocks auf 200 geändert wurde. Jetzt lautet der Wiederholen-Block "Wiederholen, bis der vordere Abstand in mm kleiner als 200 ist".
  • Fügen Sie diesem [Wiederholen bis] -Block einen [Laufwerk] -Block hinzu. Dadurch wird der VR-Roboter angewiesen, vorwärts zu fahren, bis der Abstandssensor eine Entfernung von weniger als 200 Millimetern (mm) meldet.

    Das gleiche Projekt mit einem Laufwerksblock fügen Sie innerhalb des C des Blocks Wiederholen bis hinzu. Der dritte Kommentarbereich des Projekts lautet nun Drive to the blue goal; Turn to heading 180 degrees, Repeat until Front distance in mm is less than 200, drive forward.
  • Sobald der VR-Roboter das blaue Ziel (200 mm von der Wand entfernt) erreicht hat, muss der VR-Roboter aufhören zu fahren. Fügen Sie einen [Stop driving] -Block unter dem [Repeat until] -Block hinzu.

    Das gleiche Projekt mit einem Stop-Driving-Block, der nach dem Repeat until-Block hinzugefügt wurde. Der dritte Kommentarabschnitt lautet nun Drive to the blue goal; Repeat until front distance in mm is less than 200, Drive forward; then stop driving.
  • Jetzt, da der VR-Roboter im blauen Ziel angehalten ist, kann er die Festplatte fallen lassen. Fügen Sie einen [Energize Electromagnet] -Block unter dem vierten Kommentar hinzu und setzen Sie den Block auf "Drop".

    Das gleiche Projekt mit einem Energize Electromagnet-Block, bei dem der Parameter auf Drop gesetzt ist, wurde nach dem vierten Kommentar hinzugefügt. Der vierte Kommentarabschnitt lautet nun Drop the blue disk in the blue goal, Energize magnet to drop.
  • Der VR-Roboter muss eine kurze Strecke rückwärts fahren, um zu vermeiden, dass er umkippt oder mit Scheiben kollidiert. Eine Kollision mit einer Festplatte könnte den VR-Roboter möglicherweise vom Kurs abbringen. Fügen Sie die folgenden Blöcke hinzu, um den VR-Roboter anzuweisen, 100 Millimeter (mm) rückwärts zu fahren und sich wieder in eine Richtung von 0 Grad zu drehen.

    Das gleiche Projekt mit einem Drive for Block und einem Turn to Heading Block am unteren Rand des Stapels. Jetzt lautet der vierte Kommentar Drop the blue disk in the blue goal; Energize magnet to drop; Drive reverse for 100mm, turn to heading 0 degrees.
  • Öffnen Sie den Disk Mover Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
  • Der VR-Roboter fährt vorwärts, nimmt die erste Scheibe auf und dreht sich dann um 180 Grad, um sich dem blauen Tor zu stellen. Der VR-Roboter verwendet dann die Werte des Abstandssensors, um zu bestimmen, wann er aufhören soll zu fahren und die blaue Platte fallen zu lassen.

    Eine Nahansicht des Disk Mover Playground mit der blauen Festplatte im blauen Tor und dem VR-Roboter mit Blick auf die verbleibenden Festplatten auf dem Playground am Rande des blauen Tores.
  • Beachten Sie, wie der zweite Block [Wiederholen bis] in diesem Teil des Projekts funktioniert.
    • Wenn der Abstandssensor am VR-Roboter erkennt, dass die Wand des Spielplatzes weniger als 200 Millimeter (mm) entfernt ist, wird das Projekt zum nächsten Block im Stapel unter dem Block [Wiederholen bis] verschoben.
    • In diesem Projekt bedeutete das, dass der VR-Roboter aufhört zu fahren und den Elektromagneten ins blaue Tor fallen lässt.

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