Ga direct naar de hoofdinhoud

Via de kortste route

Ontwerp een algoritme dat de blokken [Rijden naar] en [Draai naar richting], de GPS-sensor, de optische sensor, de inlaatmotorgroep en de bodemafstandssensor gebruikt om de Hero Bot langs het kortste pad te laten rijden, zodat de rol op (-1040,1740) rood wordt en de drie roze gemarkeerde schijven zo snel mogelijk in het rode doel worden gelanceerd!

  • Selecteer de VRC Virtual Skills - Spin Up Playground.
  • Programmeer de Hero Bot om naar de Roller op (-1040,1740) te rijden en deze rood te laten draaien.
    • Rijd met de Hero Bot naar de positie op (-1000,1500) via de kortste route, draai richting de Roller en maak contact.
    • Gebruik de inlaatmotorgroep en de optische rolsensor om de rol rood te laten draaien en ontwikkel een algoritme om de tijd die nodig is om het rolproces te voltooien te minimaliseren.
  • Programmeer de Hero Bot om de roze gemarkeerde schijven naar het rode doel te rijden en te lanceren.
    • Bestuur de Hero Bot naar de positie op (-600,1200) via de kortste route. Draai je richting de roze gemarkeerde schijven. 
    • Gebruik de bodemafstandssensor om de Hero Bot te besturen en gebruik de innamemotor om de drie schijven één voor één op te pakken.
    • Draai de Hero Bot in de richting waarin je wilt scoren en laat de inlaatmotor draaien om de schijven te lanceren.
  •  Stel een timer in en kijk hoe snel de Hero Bot deze taak kan voltooien.

Handige tips

  • De lijn tussen de huidige positie van de robot en de doelpositie is de kortste route om de robot naar het doel te brengen.
  • Gebruik de GPS-sensor om de huidige X- en Y-coördinaten van de Hero Bot te bepalen. 

Gebruik de stelling van Pythagoras om de afstand te berekenen die de robot moet afleggen. Gebruik de Atan-functie om Theta te berekenen en zet Theta vervolgens om naar de rijrichting waarin de robot moet rijden.

Vergelijkingen aan de linkerkant en een diagram aan de rechterkant. De stelling van Pythagoras wordt gedefinieerd als 'C is gelijk aan de wortel van A in het kwadraat plus B in het kwadraat'. De verticale afstand tussen twee punten wordt gedefinieerd als 'A = Y2 - Y1', en de horizontale afstand als 'B = X2 - X1'. De variabele C staat voor de rijafstand. De variabele theta wordt gedefinieerd als 'theta = atan(a/b)'. Het diagram aan de rechterkant toont de robot met een cirkel eromheen getekend, waarbij de cirkel's 360 graden is aangegeven.