Zum Hauptinhalt springen

Orte freischalten

Erstellen Sie ein Koordinatensystem auf dem Full Volume Virtual Skills Field, wobei die Position des roten Punktes den Ursprung (0, 0) bildet und sich die Ausgangsposition des Hero Bot Centers bei den Koordinaten (0, 36) befindet. Verwende die Blöcke [Fahren für], [Drehen für], [Position drehen] und [Drehen für], um den Helden-Bot so zu programmieren, dass er den orange markierten roten Block aufnimmt, ihn ,, , , 6 7, 8, 9, 1 ... Entwerfen Sie einen Algorithmus, der die X- und Y-Koordinaten des Ortes ermittelt, an dem der Roboter den roten Block aufnehmen und punkten kann, sowie die X- und Y-Koordinaten des Ortes, an dem der Roboter den Helden-Bot parken kann.

  • Wählen Sie den VIQRC Virtual Skills - Full Volume Playground aus.
  • Entwickeln Sie einen Algorithmus, der die X- und Y-Koordinaten der Roboterposition nach einer bestimmten Fahrstrecke anhand der Fahrstrecke und der Antriebsrichtung berechnet und speichert. 
  • Programmiere den Helden-Bot so, dass er zum orange markierten roten Block fährt und ihn aufhebt. 
    • Verwenden Sie den Algorithmus, um die X- und Y-Koordinaten der Position des Roboters zu verfolgen.
  • Verwenden Sie den [print]-Block, um die X- und Y-Koordinaten der Position, an der der Roboter den Block aufnehmen soll, in der Druckkonsole auszugeben.
  • Programmiere den Helden-Bot so, dass er auf Ziel I zufährt und den Block dort ablegt. 
    • Verwenden Sie den Algorithmus, um die X- und Y-Koordinaten der Position des Roboters zu verfolgen.
  • Verwenden Sie den [print]-Block, um die X- und Y-Koordinaten der Position, an der der Roboter den Block in Ziel I absetzen soll, in der Druckkonsole auszugeben.
  • Steuere den Heldenbot so, dass er sich teilweise innerhalb der Versorgungszone befindet.
    • Verwenden Sie den Algorithmus, um die X- und Y-Koordinaten der Position des Roboters zu verfolgen.
  • Verwenden Sie den [print]-Block, um die X- und Y-Koordinaten der Position, an der der Roboter teilweise innerhalb der Versorgungszone geparkt werden soll, in der Druckkonsole auszugeben.

Hilfreiche Tipps

  • Um die X- und Y-Koordinaten des Hero Bots auf dem VIQRC Virtual Skills Field zu ermitteln, legen Sie die Ausgangsposition des Hero Bots als Ursprung (0,0) des Koordinatensystems fest. 
  • Deklarieren Sie zwei Variablen, um die X- und Y-Koordinaten des Heldenbots zu speichern. Verwenden Sie die Blöcke set aus der Kategorie „Variablen“, um die Werte der X- und Y-Koordinaten zu Beginn des Projekts auf 0 zu setzen.  VEXcode Set variable block that reads 'set currentX to 0'. VEXcode Set variable block that reads 'set currentY to 36'.
    • Passender Python-Befehl:

      currentX = 0
      currentY = 36
  • Verwenden Sie die Reporterblöcke aus der Kategorie Sensorik, um den Wert für die Antriebsrichtung vom Inertialsensor zu erhalten. VEXcode Drive Heading Block, der 'Drive Heading in Grad' anzeigt.
    • Passender Python-Befehl:

      Antriebsstrang.Überschrift(GRADE)
  • Berechnen Sie mithilfe der Fahrstrecke und der Antriebsrichtung die X- und Y-Koordinaten nach einer bestimmten Fahrstrecke.
    • Mathematische Funktion (vorwärts):

      X2 = X1 + Fahrstrecke * sin (Fahrrichtung)

      Y2 = Y1 + Fahrstrecke * cos (Fahrrichtung)

      Zwei nebeneinanderliegende Diagramme aus der Vogelperspektive, die den Heldenroboter zeigen. Das erste Diagramm zeigt den Roboter mit einem Kreis darum, wobei die 360 ​​Grad des Kreises beschriftet sind. Das zweite Diagramm zeigt den Roboter an der Koordinate (X1, Y1), der auf einen Punkt (X2, Y2) zeigt. Die Distanz wird als 'Fahrdistanz' bezeichnet und der Winkel als Theta-Symbol.

  •  Verwenden Sie den Funktionsblock aus der Kategorie Operatoren, um mathematische Funktionen auszudrücken. Ein Stapel aus zwei VEXcode Set-Variablenblöcken mit Blockgleichungen. Der erste Block liest 'set currentX to currentX + drive_distance * sin of drive heading in degrees'. Der zweite Block liest 'set currentY to currentY + drive_distance * cos of drive heading in degrees'.
    • Passender Python-Befehl: 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      currentY = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • Für weitere Informationen zu VIQRC Virtual Skills Field Dimensions klicken bitte.