Přejít k hlavnímu obsahu

Nová výška

Vytvořte souřadnicový systém na poli virtuálních dovedností plného objemu s pozicí červené tečky jako počátkem (0, 0) a počáteční pozicí Centra hrdinských botiček na souřadnicích (0, 36). Použijte bloky [Jeďte pro], [Otočte se do směru], [Otočte se do pozice] a [Otočte pro] k naprogramování Hrdinského Bot, který sebere každý ze čtyř zvýrazněných fialových bloků a zařadí je do Cíle III. Vytvořte algoritmus, který naviguje robota na specifickou pozici, aby upustil blok a zajistil, že cíl má úroveň naplnění úroveň 3:.

  • Vyberte si hřiště VIQRC Virtual Skills – Full Volume.
  • Naprogramujte Hrdinského Botta, aby sebral zvýrazněný fialový blok a zařadil ho do Cíle III. 
    • Vytvořte algoritmus pro řízení robota na určitou vzdálenost a sledování jeho souřadnic X a Y. Použijte algoritmus k dovedení robota k označenému fialovému bloku.
    • Naprogramujte robota tak, aby zvedl blok.
    • Vytvořte algoritmus pro navigaci robota do určité pozice. Pomocí algoritmu navigujte robota na souřadnice (-70, 1270) a otočte robota do směru -45 stupňů.
    • Naprogramujte robota tak, aby shodil blok.
  • Naprogramujte Hrdinského Bot, aby sebral druhý zvýrazněný Fialový Blok a zařadil ho do Cíle III na stejné pozici a ve stejné orientaci, jako když se mu podařilo zařadit první Fialový Blok. 
  • Naprogramujte Hrdinského Bot, aby sebral třetí zvýrazněný Fialový Blok a zařadil ho do Cíle III na stejné pozici a ve stejné orientaci, jako když se mu podařilo zařadit první Fialový Blok. 
  • Naprogramujte Hrdinského Botta tak, aby sebral čtvrtý zvýrazněný Fialový Blok a zařadil ho do Cíle III na stejné pozici a ve stejné orientaci, jako když se mu podařilo zařadit první Fialový Blok. 

Užitečné rady

  • Použijte souřadnice robota (x1,y1), souřadnice cílové pozice (x2,y2) a funkci atan k nalezení směru pohybu.
    • Vypočítejte úhel theta θ přímky spojující tyto dva body. Diagram dvou matematických výrazů. První výraz zní 'theta rovno atan((y² - y1) / (x² - x1))'. Druhý výraz zní 'minus pí / 2 je menší než theta, což je menší než pí / 2'. Schéma shora dolů zobrazuje robota na souřadnici (X1, Y1) a čáru směřující k souřadnici (X2, Y2). Vzdálenost je označena proměnnou d, úhel je označen proměnnou theta. Horizontální vzdálenost mezi body je znázorněna jako '- x1'a vertikální vzdálenost je znázorněna jako '- y1'.
    • Příklad pseudokódu pro matematický výraz:

      pokud x1 rovno x2:
      	pokud y2 > y1:
      		směr = 0 stupňů
      	jinak:
      		směr = 180 stupňů
      jinak:
      	pokud x2 > x1:
      		směr = 90 stupňů - theta
      	jinak:
      		směr = 270 stupňů - theta
    • Převeďte úhel theta θ na směr řízení.  Schéma shora dolů označené 'robot nadpis' zobrazuje robota s kruhem kolem něj a popisky označujícími 360 stupňů kruhu.
  • Pro určení ujeté vzdálenosti použijte souřadnice robota (x1,y1), souřadnice cílové pozice (x2,y2) a Pythagorovu větu. Matematický výraz zní 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' Stejný diagram shora dolů jako předtím, znázorňující rozdíl mezi dvěma souřadnicemi. Robot se nachází na souřadnici (X1, Y1) a čára směřuje k souřadnici (X2, Y2). Vzdálenost je označena proměnnou d, úhel je označen proměnnou theta. Horizontální vzdálenost mezi body je znázorněna jako '- x1'a vertikální vzdálenost je znázorněna jako '- y1'.

 

  • Použijte blok function z kategorie Operátory k vyjádření funkce atan pro výpočet úhlu theta θ. Funkční blok VEXcode obsahující operátorové bloky, které dohromady čtou 'atan of ((Y2 - Y1) / (X2 - X1))'.
    • Odpovídající příkaz Pythonu: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • Pro vyjádření Pythagorovy věty pro výpočet ujeté vzdálenosti použijte blok funkce z kategorie Operátory. VEXcode Nastaví blok proměnných obsahující funkční a operátorové bloky, které dohromady čtou 'nastaví vzdálenost driveDistance na čtvereční číslo ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • Odpovídající příkaz Pythonu: 

      driveVzdálenost = math.sqrt((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))