Zum Hauptinhalt springen

Neue Höhe

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. Verwenden Sie die Blöcke [Drive for], [Turn to heading], [Spin ​​to position] und [Spin ​​for], um den Hero Bot so zu programmieren, dass er jeden der vier hervorgehobenen violetten Blöcke aufnimmt und ihn in Ziel III einbringt. Erstellen Sie einen Algorithmus, der den Roboter zu einer bestimmten Position navigiert, um den Block fallen zu lassen und das Ziel auf Füllstufe 3 zu bringen.

  • Wählen Sie den VIQRC Virtual Skills - Full Volume Playground aus.
  • Programmiere den Helden-Bot so, dass er einen markierten violetten Block aufnimmt und ihn in Tor III befördert. 
    • Entwerfen Sie einen Algorithmus, der den Roboter über eine bestimmte Strecke steuert und seine X- und Y-Koordinaten verfolgt. Nutze den Algorithmus, um den Roboter zum hervorgehobenen violetten Block zu steuern.
    • Programmiere den Roboter so, dass er den Block aufhebt.
    • Entwickeln Sie einen Algorithmus, der den Roboter zu einer bestimmten Position navigiert. Verwenden Sie den Algorithmus, um den Roboter zu den Koordinaten (-70, 1270) zu navigieren und den Roboter auf einen Kurs von -45 Grad zu drehen.
    • Programmiere den Roboter so, dass er den Block fallen lässt.
  • Programmiere den Helden-Bot so, dass er den zweiten markierten violetten Block aufnimmt und ihn an derselben Position und Ausrichtung wie den ersten violetten Block in Ziel III einschießt. 
  • Programmiere den Helden-Bot so, dass er den dritten markierten violetten Block aufnimmt und ihn an derselben Position und Ausrichtung wie den ersten violetten Block in Tor III einschießt. 
  • Programmiere den Helden-Bot so, dass er den vierten markierten violetten Block aufnimmt und ihn an derselben Position und Ausrichtung wie den ersten violetten Block in Tor III einschießt. 

Hilfreiche Tipps

  • Verwenden Sie die Koordinaten des Roboters (x1,y1), die Koordinaten der Zielposition (x2,y2) und die atan-Funktion, um die Fahrtrichtung zu ermitteln.
    • Berechnen Sie den Winkel theta θ der Geraden, die diese beiden Punkte verbindet. Diagramm zweier mathematischer Ausdrücke. Der erste Ausdruck lautet 'theta ist gleich atan((y2 - y1) / (x2 - x1))'. Der zweite Ausdruck lautet: 'negative pi / 2 ist kleiner als theta, welches kleiner als pi / 2' ist. Das Diagramm von oben zeigt den Roboter an der Koordinate (X1, Y1) und eine Linie zeigt auf die Koordinate (X2, Y2). Die Distanz wird mit der Variablen d bezeichnet, der Winkel mit der Variablen theta. Der horizontale Abstand zwischen den Punkten wird als 'x2 - x1'dargestellt, und der vertikale Abstand wird als 'y2 - y1' dargestellt.
    • Pseudocode-Beispiel für einen mathematischen Ausdruck:

      Wenn x1 gleich x2:
      	Wenn y2 > dann y1:
      		Richtung = 0 Grad.
      	Sonst:
      		Richtung = 180 Grad.
      Sonst:
      	Wenn x2 ≥ > , dann x1:
      		Richtung = 90 Grad - Theta.
      	Sonst:
      		Richtung = 270 Grad - Theta.
    • Rechnen Sie den Winkel theta θ in Fahrtrichtung um.  Das Diagramm von oben mit der Bezeichnung 'Roboter und der Überschrift' zeigt den Roboter mit einem Kreis darum, wobei die 360 ​​Grad des Kreises durch Beschriftungen gekennzeichnet sind.
  • Berechnen Sie mithilfe der Koordinaten des Roboters (x1,y1), der Koordinaten der Zielposition (x2,y2) und des Satzes des Pythagoras die Fahrstrecke. Der mathematische Ausdruck lautet: 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' Das gleiche Diagramm von oben wie zuvor, das den Unterschied zwischen zwei Koordinaten zeigt. Der Roboter befindet sich an der Koordinate (X1, Y1) und eine Linie zeigt auf die Koordinate (X2, Y2). Die Distanz wird mit der Variablen d bezeichnet, der Winkel mit der Variablen theta. Der horizontale Abstand zwischen den Punkten wird als 'x2 - x1'dargestellt, und der vertikale Abstand wird als 'y2 - y1' dargestellt.

 

  • Verwenden Sie den Funktionsblock aus der Kategorie Operatoren, um die atan-Funktion auszudrücken und den Winkel Theta θ zu berechnen. VEXcode Funktionsblock mit Operatorblöcken, der zusammen 'atan von ((Y2 - Y1) / (X2 - X1))' liest.
    • Passender Python-Befehl: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Verwenden Sie den Funktionsblock aus der Kategorie Operatoren, um den Satz des Pythagoras auszudrücken und die Fahrstrecke zu berechnen. VEXcode Set variable block containing function and operator blocks, that all together reads 'set driveDistance to sqrt of ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Passender Python-Befehl: 

      Fahrstrecke = math.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))