Ga direct naar de hoofdinhoud

Stel het doel vast

een algoritme om de ideale te vinden voor de Hero Bot, die zich op een specifieke locatie bevindt, zodat de Triball succesvol in het doel wordt geschoten. Gebruik de blokken [Rijden naar] en [Draai in de juiste richting], de GPS-sensor, de armmotor en de inlaatmotor om de Hero Bot te programmeren zodat hij elk van de drie gemarkeerde Triballs oppakt, naar de positie op (600, 600) rijdt, in de juiste richting draait en de Triball in het doel van de Rode Alliantie lanceert. De snelste tijd wint!

  • Selecteer de VRC Virtual Skills - Over Under Playground.
  • Gebruik de checklist vóór de wedstrijd om een ​​startlocatie, een startrichting en Robot Preload “No” voor de robot te selecteren.
  • Ontwikkel een algoritme om de robot naar een specifieke positie te navigeren.
  • Ontwikkel een algoritme om de robot naar een positie te navigeren waar hij een Triball kan oppakken die zich op een specifieke locatie bevindt.
  • Ontwikkel een algoritme om de ideale lanceerrichting te vinden waarmee de Triball in het doel kan worden geschoten.
  • Programmeer de robot om de armmotor te laten draaien, zodat de arm volledig naar beneden kan zakken om een ​​Triball van het veld op te pakken.
  • Programmeer de Hero Bot om de gemarkeerde Triball op te pakken (0,1500) en deze in het doel van de Rode Alliantie te scoren. 
    • Gebruik het algoritme om de robot naar een positie te sturen waar hij de gemarkeerde Triball op (0, 1500) kan oppakken.
    • Programmeer de robot om de inlaatmotor te laten draaien, zodat de Triball kan worden opgepakt.
    • Gebruik het algoritme om de robot naar de coördinaten (600, 600) te navigeren.
    • Gebruik het algoritme om de ideale lanceerrichting te vinden waarmee de Hero Bot de Triball in het doel kan schieten. Draai de robot in de lanceerrichting.
    • Programmeer de robot om de inlaatmotor te laten draaien, zodat de Triball naar het doel van de Rode Alliantie wordt gelanceerd.
  • Programmeer de Hero Bot om de gemarkeerde Triball op te pakken (1600, 1600) en deze in het doel van de Rode Alliantie te scoren.
  • Programmeer de Hero Bot om de gemarkeerde Triball op te pakken (-125, 1075) en deze in het doel van de Rode Alliantie te scoren. 
  • Gebruik het [print]-blok om de timerwaarde naar de printconsole af te drukken.

Handige tips

  • Bepaal de verwachte baan van de Triball om de ideale lanceerrichting te vinden.
    • Plan een traject voor de Triball om te voorkomen dat deze tegen de palen, de noppen van het doel of de Triballs in het doel botst.
    • Selecteer een positie op het geplande traject in het doel als richtpunt en bepaal de X- en Y-coördinaten van het richtpunt.
    • Gebruik de coördinaten van de robot (x1,y1), de coördinaten van het richtpunt (x2,y2) en een functie om de lanceerrichting te bepalen.
      • Bereken de hoek theta θ van de lijn die deze twee punten verbindt. 

        Diagram van twee wiskundige uitdrukkingen. De eerste uitdrukking luidt 'theta is gelijk aan atan((y2 - y1) / (x2 - x1))'. De tweede uitdrukking luidt: '- pi / 2 is kleiner dan theta, wat kleiner is dan pi / 2'.

        Een wiskundig diagram van bovenaf laat zien dat de robot zich op coördinaat (X1, Y1) bevindt en dat een lijn wijst naar coördinaat (X2, Y2). De afstand wordt aangeduid met de variabele d, de hoek met de variabele theta. De horizontale afstand tussen de punten wordt weergegeven als 'x2 - x1', en de verticale afstand wordt weergegeven als 'y2 - y1'.

    • Zet de hoek theta θ om naar de richting van de robot.

      Pseudocodevoorbeeld voor een wiskundige uitdrukking (Startrichting: Noord):

      als X1 gelijk is aan X2:
      	als Y2 > Y1:
      		koers = 0
      	anders:
      		koers = 180
      anders:
      	als X2 > X1:
      		koers = 90 - atan((Y2 - Y1) / (X2 - X1))
      	anders:
      		koers = 270 - atan((Y2 - Y1) / (X2 - X1))

      Het diagram, van bovenaf gezien, toont de robot binnen een cirkel met labels die de cirkel'tot 360 graden markeren.

    • Gebruik het blok functie uit de categorie Operators en selecteer de functie atan om de hoek theta θ te berekenen.

      Leeg VEXcode-functieblok dat 'leest op een lege'.

      • Overeenkomend Python-commando:

        math.atan( ) / math.pi * 180

Voor meer informatie over het gebruik van de GPS-sensor in de VRC Over Under Playground, klik