Zum Hauptinhalt springen

Triballs auf dem Feld

Erstellen Sie einen Algorithmus, der die Blöcke [Drive for] und [Turn to heading], den GPS-Sensor, den Armmotor und den Einzugsmotor verwendet, um den Hero Bot so zu programmieren, dass er den Robot Preload Triball, den Field Preload Triball und die Green Field Triballs in die Tore befördert. Die schnellste Zeit gewinnt!

  • Wählen Sie den VRC Virtual Skills - Over Under Playground aus.
  • Verwenden Sie die Checkliste vor dem Spiel, um einen Startort, eine Startrichtung und Roboter-Vorladung „Ja“ für den Roboter auszuwählen.
  • Verwenden Sie die Checkliste für die Vorabprüfung, um einen gewünschten Feldvorladeort auszuwählen.
  • Planen Sie einen Pfad, auf dem der Roboter die Triballs nacheinander aufnehmen und abwerfen kann.
  • Programmiere den Helden-Bot so, dass er den Roboter-Vorlade-Triball ins Tor der Blauen Allianz befördert. 
  • Programmiere den Helden-Bot so, dass er den Feld-Vorlade-Triball ins Tor der Blauen Allianz befördert. 
  • Steuere den Roboter entlang der geplanten Route, sammle den ersten grünen Feld-Triball ein und trage ihn zum Tor der Roten Allianz. 
    • Steuere den Roboter in eine Position, in der er den ersten Feldtriball in der geplanten Reihenfolge aufnehmen kann. 
    • Programmiere den Roboter so, dass er den Ansaugmotor dreht, um den Triball aufzunehmen.
    • Manövriere den Roboter zu einer Punkteposition und drehe ihn in Richtung der Punkte.
    • Programmiere den Roboter so, dass er den Ansaugmotor dreht, um den Triball zum Ziel zu befördern.
  • Programmiere den Helden-Bot so, dass er die Feldtriballs in der geplanten Reihenfolge aufnimmt und sie dem Ziel der Roten Allianz zuschreibt.
  • Verwenden Sie den [print]-Block, um den Timerwert in der Druckkonsole auszugeben.

Hilfreiche Tipps

  • Weitere Informationen zur Ermittlung der (X, Y)-Koordinaten von Spielelementen im VRC Over Under Playground finden .
  • Die Ausführungszeit verschiedener Roboterverhaltensweisen effizient koordinieren und optimieren, um die Zykluszeit zu minimieren, die Striker benötigt, um einen Triball zu erzielen.
    • Nutzen Sie die und warten Sie nicht Funktion des drehenden ArmMotors, um Block so zu positionieren, dass andere Blöcke weiterlaufen können, während sich der Armmotor dreht. Um diese Funktion zu nutzen, wählen Sie den Pfeil zum Erweitern und warten Sie nicht.

      VEXcode Spin to position block that reads 'spin ArmMotor to position 1200 degrees and don't wait'.

      • Passender Python-Befehl:

        arm_motor.spin_to_position(1200, DEGREES, wait=False)
  • Nutzen Sie die Funktion und nicht warten des fahren für Block (oder drehen zu Richtung Block) in Verbindung mit dem warten Block aus der Kategorie Steuerung, um die Überlappungszeit der Roboterverhalten zu koordinieren. Dadurch kann der Roboter während der Bewegung andere Verhaltensweisen ausführen und die erfolgreiche Ausführung der Gesamtaufgabe sicherstellen. Um diese Funktion zu nutzen, wählen Sie den Pfeil zum Erweitern und warten Sie nicht. In manchen Situationen kann der Roboter beispielsweise den Ansaugmotor zum Abschuss des Triballs bereits während der laufenden Bewegungen in Gang setzen, um unnötige Leerlaufzeiten zu vermeiden und Zeit zu sparen.

    Stapel aus drei VEXcode-Blöcken. Der erste Block ist ein Drive-for-Block, der 'vorwärts für 1200 mm liest und'nicht wartet'. Der zweite Block ist ein Warteblock, der 'wait 0.5 seconds' liest. Der letzte Block ist ein Spin-for-Block, der 'Spin IntakeMotor reverse für 375 Grad' lautet.

    • Passender Python-Befehl:

      drivetrain.drive_for(FORWARD, 1200, MM, wait=False)
      wait(0.5, SECONDS)
      intake_motor.spin_for(REVERSE, 375, DEGREES)