Logo Robotika.SK Faculty of Electrical Engineering and Information Technology, Slovak University of Technology  Logo Faculty of Mathematics, Physics and Informatics, Comenius University 

Deadline of this assignment is set to: 2024-03-08 20:00:00

1. Task: Iverse Pendulum

Asi poznáte kyvadlové hodiny, v ktorých sa kyvadlo so závažím v pravidelnom rytme kýve naľavo a napravo, pričom energiu (aby nezastalo) mu dodáva kroková západka, ktorá oddeľuje kyvadlo od hodinového mechanizmu.

Na hranie je ale asi zaujímavejšie inverzné kyvadlo. Určite ste niekedy skúšali paličku alebo metlu opretu koncom v strede dlane udržať v rovnováhe. Gravitácia robí svoje a palička sa začína nakláňať na jednu alebo na druhú stranu, ale ak dostatočne (ale nie príliš) rýchlo pohneme rukou tým smerom, tak s ňou vybabreme a zasa je pekne vzpriamená... až kým sa zasa nezačne nakláňať. Jemnými pohybmi ju takto môžeme udržať hore aj dlhší čas. Nájdite si vhodný predmet na inverzné kyvadlo a zistite, komu ide vyvažovanie najlepšie.  :-)
Pre účely našej úlohy použijeme inverzné kyvadlo, ale také, ktoré bude dolu upevnené, aby sa nemohlo nakláňať hociktorým smerom, alebo iba v jednej osi - dopredu a dozadu. Kyvadlo umiestnime na pohybujúceho sa robota - alebo jeho pohybujúcu sa časť.

 
Obrázok: Inverzné kyvadlo.

Úloha pre zajace: Zostrojte robota, ktorý bude vedieť vyvažovať nejaké inverzné kyvadlo. Kyvadlo samotné nemusí byť poskladané zo súčiastok LEGO. Môžete ho aj niečím zbrzdiť (pridať mu trenie, odpor), aby nepadalo tak rýchlo, ale musí platiť, že dokáže sáme od seba začať padať na jednu stranu a potom - ak robot neurobí žiadnu akciu - spadne až nadol. Môžete v jeho uchytení použiť aj motorček - ale len ako otáčkový/polohový senzor - bez toho, aby ste ho z programu kedykoľvek zapli. Dĺžka kyvadla musí byť aspoň 20cm.

Úloha pre tigre: Vyriešte zajačiu úlohu tak, že robot bude vedieť vyvažovať viac ako jeden typ inverzného kyvadla. Ideálne by vyvažovanie mal zabezpečiť ten istý program, ktorý ako parameter svojho výpočtu použije nejaké číselné nastavenie, ktoré bude iné pre každý typ kyvadla. Pri štarte programu sa nejakým spôsobom zvolí typ kyvadla, aby program použil správnu sadu parametrov. jednotlivé kyvadlá by sa mali dostatočne líšiť - hmotnosťou a/alebo dĺžkou. Ale ak ten istý program dokáže vyvažovať rôzne kyvadlá aj bez parametrov, tým lepšie.

2. Task: Shopping assistant

Niekedy zostaneme na krúžku, v škole, alebo na ihrisku tak dlho, že ani nestihneme vybaviť nákup. Niektoré psy dokážu vybavovať jednoduché úkony, ako napr. vyzdvihnúť alebo roznášať noviny a v tejto úlohe zostrojíme robota, ktorý dokáže doviezť nákup z obchodu.

Obrázok: príklad cesty do obchodu.

Úloha pre zajace: Zostrojte robota, ktorý dokáže doviezť nákup z obchodu. Obchod sa nachádza na konci kľukatej cesty vyznačenej čiernou páskou a predávajú tam tri rôzne veci - jabĺčka, chlieb a (samozrejme rastlinné) mlieko. Robot si najskôr vypýta pokyn, ktorú z troch surovín má z obchodu doviezť. Túto informáciu môžeme zadať akýmkoľvek spôsobom - ale musí byť zadaná až po štarte programu, nemôže byť už pevne predpísaná v programe. Potom sa presunie sledovaním cesty do obchodu. Obchod je nejakým (ľubovoľným) spôsobom označený - tak, aby robot vedel, že sa už nachádza v obchode. Tam naloží jednu z troch surovín podľa pokynov, ktoré na začiatku dostal - suroviny môžu byť uložené na vopred známom pevne určenom mieste a vráti sa aj s naloženou surovinou naspäť, odkiaľ vyštartoval. Suroviny zostrojte zo súčiastok LEGO - akokoľvek, tak aby sa dobre dali vyzdvihnúť a doviezť.

Úloha pre tigre: Zadanie je podobné ako v zajačej úlohe, ale suroviny môžu byť v obchode rozmiestnené v náhodnom poradí - robot ich musí správne rozpoznať a robot dokáže z obchodu doviezť naraz viac ako jednu vec - jednu, dve, alebo tri - podľa toho, čo dostane zadané po spustení programu.

Solutions