====== Parkování v garáži ======
Robot TurtleBot má za úkol samostatně zaparkovat v garáži tvořené kartonovými krabicemi (kvádry).
Zadání je rozděleno do tří úloh podle náročnosti řešení:
- robot zaparkuje v garáži, pokud vidí vjezd
- robot lokalizuje garáž a zaparkuje v ní
- robot zaparkuje v garáži v prostředí s překážkami
**Součástí hodnocení úlohy bude také posouzení kvality programového kódu.**
Kvalita kódu bude hodnocena v rozsahu 3 bodů, které jsou součástí hodnocení úlohy.
===== Obecná pravidla =====
{{ :courses:b3b33lar:tasks:vykres_garaz_pudorys.png?300||Půdorys garáže}}
Robot vyjede ze startovní pozice, samostatně nalezne vjezd do garáže a zaparkuje v ní.
To je společný cíl všech úloh různé obtížnosti.
Řešení jednotlivých úloh se řídí i dalšími společnými pravidly:
==== Garáž a její rozměry ====
Garáž je prostor přibližně čtvercového půdorysu, který je ze tří stran vymezen
stěnami. Čtvrtá strana je vjezd do garáže. Garáž nemá v našem případě střechu.
Stěny garáže tvoří kartonové krabice na dokumenty formátu A3. Výška stěn je 350mm
a jejich tloušťka 50mm. Rozměry půdorysu garáže jsou na .
Stranu, kde je vjezd označujeme jako čelní. Vjezd je široký přibližně 485mm a po obou
stranách je ohraničen čelními stěnami o šířce 50mm. Čelní stěny garáže jsou natřeny
fialovou barvou, zatímco ostatní stěny jsou natřeny žlutou barvou, jak je vidět na
. Je třeba počítat s tím, že nátěr nemusí být zcela jednolitý.
==== Zaparkování v garáži ====
{{ :courses:b3b33lar:tasks:robot_in_garage.jpg?300|||Robot v garáži}}
Za splnění úkolu je považováno, pokud je robot celým svým objemem v prostoru garáže.
Musí tedy celý přejet spojnici čelních stěn garáže a zastavit. Robot by měl zastavit
aniž se dotkne stěn garáže. Akceptováno bude, pokud se robot lehce dotkne zadní
vnitřní stěny garáže, která je proti vjezdu. Garáž se však nesmí pohnout o víc jak 3mm.
Zaparkovaný robot je na fotografii .
==== Průběh jízdy ====
Nejprve operátor (student) spustí program v robotu. Poté vyučující stanoví startovní
pozice a orientaci robota. Operátor umístí robota na startovní pozici (včetně orientace).
Jízdu spustí operátor stisknutím tlačítka na základně robota, nebo dotykem na displej robota.
Robot poté zahájí činnost a nadále bude již stanovený úkol řešit zcela samostatně. Všechny
potřebné algoritmy musí být implementovány v řídicím počítači robotu. Robot nesmí být
v průběhu jízdy řízen z jiného počítače.
V průběhu jízdy robot plní úlohu, ale při tom se nesmí dotknout stěn garáže, ani překážek.
Překážky tvoří různobarevné papírové válce (sloupky) o průměru 50mm a výšce cca 350mm, které stojí
na své kruhové podstavě.
==== Bezpečnostní nárazník ====
V průběhu jízdy musí být aktivní mechanický nárazník robota. Kdykoliv bude v průběhu jízdy
nárazník aktivován (náraz do překážky), musí robot neprodleně zastavit a ukončit jízdu.
===== Pravidla pro jednotlivé úlohy =====
==== Zaparkování v garáži ====
{{ :courses:b3b33lar:tasks:vykres_garaz_strart_a.png?370|||Starotvní pozice pro nejjednodušší úlohu}}
Robot bude umístěn ve startovní pozici tak, že jeho střed bude ve vzdálenosti
**minimálně 30cm** od hrany garáže na straně vjezdu.
Startovní pozice bude ve vzdálenosti **d ≤ 250cm** od středu vjezdu do garáže.
Spojnice středu vjezdu a středu robota bude svírat s hranicí garáže úhel **α ≥ 30°**.
Orientace robota není omezena, ale pokud se bude otáčet kolem svého středu,
dosáhne polohy, kdy bude v zorném poli vjezd (obě fialově natřené čelní stěny).
Mezi robotem a garáží a ani před garáží nebudou žádné překážky. Jedna z možných
startovních pozic je znázorněna na
Za splnění úlohy může být uděleno maximálně 40 bodů.
==== Lokalizace a zaparkování v garáži ====
Robot bude umístěn ve startovní pozici vně garáže. Jeho střed bude ve vzdálenosti **minimálně 30cm** od vnější stěny garáže.
Robot nebude od stěny garáže **dále než 3m**. Mezi robotem ve startovní pozici a garáží, ani ve vzdálenosti **do 70cm od**
vnější stěny garáže a ani před garáží nebudou žádné překážky.
Lze očekávat, že na rozdíl od lehčí úlohy nebude robot v pozici, kdy by mohl vidět vjezd do garáže.
Za splnění úlohy může být uděleno maximálně 55 bodů.
==== Zaparkování v garáže s překážkami ====
Robot bude umístěn ve startovní pozici vně garáže. Jeho střed bude ve vzdálenosti **minimálně 30cm** od vnější stěny garáže.
Robot nebude od stěny garáže **dále než 5m**. V prostoru mohou být umístěny překážky (sloupky). Překážky však nebudou umístěny
před vjezdem. Žádná překážka nebude umístěna blíže hrany garáže na straně vjezdu než **50cm** a překážky **do vzdálenosti 1m** od
této hrany nebudou mít vzájemnou vzdálenost **menší než 50cm**. Ze startovní pozice je při správné orientaci možné vidět alespoň
část garáže.
Za splnění úlohy může být uděleno maximálně 70 bodů.