Skip to main content
Lehrerportal

Wettbewerbsverbindung: Wendepunkt - Python

Turning Point vex Robotics Competition Field mit Spielelementen und Scoring-Bereichen in den Startpositionen für den Spielbeginn. Entlang der Rückwand befindet sich ein Netz mit einer Reihe von schwenkbaren Flaggen davor.
VRC 2018-2019 Wendepunktfeld

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 Lernsymbol 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:

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)