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

Riešenie možno odovzdávať do: 08.04.2016 20:00:00

1. Úloha: Hokej a kalibrácia

1. Nasledujúci víkend 12. a 13. marca sa vo Viedni koná známa robotická súťaž - RobotChallenge. V jej kategórii Puck Collect sa roboty usilujú pozbierať čo najviac pukov svojej farby. Majstrovstvá sveta v hokeji sú síce ďaleko, ale hráči sa na ne už teraz začínajú pripravovať (aspoň psychicky). Veď to nebudú mať ľahké - zahrajú si v skupine s Fínmi aj Kanaďanmi. V tomto kole Letnej ligy pôjde tiež o puk: robot podnikne hokejový útok.



Úloha: ihrisko dĺžky aspoň 1.2 m a šírky aspoň 80 cm je rozdelené čiernymi čiarami (1.5 - 2.5 cm páskou) na tri približne rovnaké časti. Okraje môžete zvýrazniť páskou inej farby. Robot štartuje na začiatku ihriska, na konci sa nachádza bránka, ktorú tvoria dva stĺpiky - môžete použiť napr. tuby od multivitamínov, alebo niečo podobné. Sú od seba vzdialené 15 - 20 cm. Puk sa nachádza v strednom pásme ihriska - na neznámom a náhodnom mieste. Môžete ho vyrobiť napr. z obalu čajovej sviečky, ktorý vhodne zafarbíte.



Robot vyštartuje smerom k bránke, v strednom pásme nájde a (akýmkoľvek spôsobom) prevezme puk, zamieri k bránke, nájde ju a dá gól. Gól platí vtedy, keď puk prejde cez bránkovú čiaru (v správnom smere) a celým svojim objemom bude za čiarou. Na videu by malo byť vidieť, že robot dokáže puk nájsť na ľubovoľnom mieste v strednom pásme.

2. Senzory, ktoré pripájame k riadiacej jednotke NXT alebo EV3, majú rozličnú povahu. Napríklad, dotykový senzor je jednoduchý digitálny senzor, ktorého stav možno vyjadriť jedným bitom informácie - 0 alebo 1. Naopak, ultrazvukový senzor je zložité zariadenie. Nachádza sa v ňom samostatný jednočipový mikropočítač. Ten riadi meranie a výpočet vzdialenosti na základe generovania a snímania ultrazvukových vĺn. Do tretice, svetelný senzor je tretí typ senzora - ide o analógový senzor, čo znamená, že káblikom zo senzora do EV3 sa prenáša elektrické napätie, ktoré sa plynule mení podľa toho, koľko svetla do senzora dopadá. V riadiacej jednotke NXT sa toto napätie priamo v procesore prevádza na 10-bitovú hodnotu (čiže číslo od 0 do 1023). Riadiaca jednotka EV3 na ten istý účel používa samostatný externý obvod (analógovo-digitálny prevodník). V oboch prípadoch sa ale napätie zo senzora v rozmedzí 0-5V prevedie na číslicovú (digitálnu) hodnotu 0-1023. Avšak hodnotu nameraného svetla v programe získavame už v rozmedzí 0-100. Časť pôvodného rozsahu 0-1023 je "vykusnutá" a preškálovaná do normalizovaného rozsahu 0-100. Túto normalizačnú funkciu si môžeme upraviť podľa potreby. Dá sa to dosiahnuť pomocou kalibrácie [analógových] senzorov. V NXT-G na to slúži samostatný blok "Calibrate". Senzorový blok v EV3 poskytuje samostatný režim kalibrácie:



V oboch prípadoch môžeme softvér informovať o tom, ktorá "tmavá" hodnota má zodpovedať hodnote 0 a ktorá "svetlá" hodnota má zodpovedať hodnote 100. Ostatné odtiene budú zodpovedať nejakému číslu medzi 0 a 100.
Úlohy:
- Zostrojte robota so svetelným senzorom (v prípade EV3 s farebným v režime svetelného senzora), ktorý sníma intenzitu odrazeného svetla od podlahy. Nakalibrujte ho na čiernu pásku a svetlú podlahu, skontrolujte, že hodnoty sú podľa očakávania medzi 0 a 100.
- Pokúste sa ukázať, že senzor po nakalibrovaní meria s väčšou presnosťou ako pred kalibráciou. Napríklad vyskúšajte spoľahlivo rozpoznať 5-10 rozličných odtieňov.
- Kalibrácia senzora spôsobí, že sa naraz nakalibrujú rovnakým spôsobom senzory na všetkých portoch. To ale v niektorých prípadoch nie je dobré, lebo senzory môžu byť namontované tak, že každý vidí čiernu ako inú hodnotu. Ako vyriešiť tento problém? Namontujte na robota druhý svetelný senzor tak, aby bez kalibrácie v rovnakej situácii hlásil iné hodnoty. Pokúste sa naprogramovať vlastný spôsob kalibrácie, ktorý sa uchová v riadiacej jednotke NXT/EV3 aj po skončení programu a ktorý dovolí nakalibrovať všetky senzory, každý inak. Výsledok vyskúšajte a zdokumentujte.

Ako vždy, môžete vyriešiť prvú alebo druhú úlohu. Ak chcete, môžete vyriešiť obe. Započítame body z lepšieho riešenia. Nezabudnite nahrať obrázok robota, tímu, linku na "unlisted" YouTube video, program a pridajte krátky popis riešenia. Tešíme sa na vaše riešenia!

Riešenia