Wettbewerbsverbindung: Wendepunkt - Python
Roboterfähigkeiten
Beim Turning Point des VEX-Robotikwettbewerbs 2018 - 2019 mussten die Spieler unter anderem die Flaggen umschalten. Es gab insgesamt neun Flaggen: drei untere Flaggen, die vom Roboter umgeschaltet werden konnten, und die sechs hohen Flaggen, die nur umgeschaltet werden konnten, indem man sie mit Wettkampfballspielsteinen traf. Die Wettbewerbsteams mussten einen Weg finden, die höheren Flaggen mit einem Ballwerfer zu treffen. Wenn Sie sich vorstellen können, ist die Programmierung des Roboters, um die Fahnen mit Ballspielsteinen durch Messen zu treffen, möglicherweise nicht immer genau. Wenn der Roboter während des autonomen Zeitraums eine falsche Kurve fährt, besteht die Möglichkeit, dass keine der Flags getroffen wird, da die Berechnungen deaktiviert sind. In ähnlicher Weise kann es für die Herausforderung der Fahrfähigkeiten schwierig sein, den Roboter manuell so auszurichten, dass er den Ball richtig startet. Daher würden erfahrene Teams den Roboter mit dem Vision-Sensor programmieren, um Flaggen zu erkennen und den Roboter dann richtig auszurichten, um genaue Aufnahmen zu machen.
Erweitern Sie Ihr Lernen
Um diese Aktivität zu erweitern, bitten Sie Ihre Schüler, ein Projekt zu entwerfen und zu skizzieren, bei dem sich der Roboter auf erkannte gelbe Objekte zubewegt, die sie möglicherweise für dieses Wettbewerbsspiel verwenden könnten!
Bitten Sie Ihre Schüler, Folgendes zu tun:
-
Öffnen Sie das Clawbot-Vorlagenbeispielprojekt (Antrieb, 2-Motor, kein Kreisel).
- Verwenden Sie das Beispielprojekt Objekte erkennen (Vision) als Referenz bei der Programmierung des Vision-Sensors. Verwenden Sie das Beispielprojekt Objekte erkennen (Vision) als Referenz bei der Programmierung des Vision-Sensors (Google Doc / .v5python).
-
Fügen Sie den Vision-Sensor zur Clawbot-Konfiguration (Antriebsstrang, 2-Motor, kein Kreisel) hinzu und konfigurieren Sie den Vision-Sensor so, dass er rote und blaue Objekte erkennt. Weitere Informationen finden Sie imArtikel Konfigurieren des Vision-Sensors.
- Programmieren Sie den Clawbot so, dass er sich auf das erkannte Objekt zubewegt. Der Clawbot kann sogar so programmiert werden, dass er seinen Arm hebt, als würde er eine Flagge schwenken!
- Laden Sie das Projekt herunter und führen Sie es aus, um zu beobachten, ob der Vision Sensor gelbe Objekte wie die gelben Kugeln im VRC Turning Point-Spiel erkennen kann. Wenn der Vision-Sensor Objekte erkennen kann, bewegt sich der Roboter basierend auf diesen erkannten Objekten? Hilfe zum Herunterladen und Ausführen eines Projekts finden Sie in diesem Artikel.
- Wenn es die Zeit erlaubt, richten Sie ein Spielfeld ähnlich dem Wendepunktfeld ein. Üben Sie die Verwendung des Vision-Sensors, damit sich der Roboter bewegen kann, um Punkte zu erzielen!
Sehen Sie sich die folgende Musterlösung an:
# Library import
from vex import *
# Begin project code
check_yellow = Event()
def check_yellow_callback():
brain.screen.set_font (FontType.MONO40)
brain.screen.clear_row (3)
brain.screen.set_cursor (3, 1)
vision_5_objects = vision_5.take_snapshot (vision_5__ YELLOWBOX)
if (vision_5_objects):
arm_motor.spin_for (FORWARD, 300, DEGREES)
claw_motor.spin_for (FORWARD, 100, DEGREES)
drivetrain.drive_for (FORWARD, 12, INCHES)
arm_motor.spin_for (REVERSE, 300, DEGREES)
claw_motor.spin_for (REVERSE, 100, DEGREES)
else:
brain.screen.print ("No Yellow Object")
# system event handlers
check_yellow(check_yellow_callback)
# small delay to ensure that the event handlers are ready to be used
wait(15, MSEC)
# constantly runs to check for new sensor data
while True:
check_blue.broadcast_and_wait ()
wait(105, MSEC)