====== 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ů.