Popis riešenia:
Z farmy k poliam je vyznačená čierna čiara, ktorú robot nasleduje pri presune z farmy na pole a späť. Pole s riadkami rastlín (lego kocky 2x2) je ohraničené zo všetkých strán čiernou čiarou. Pomedzi rastliny sa môže nachádzať burina (čierne lego kocky 2x2). Robot začína na farme, pri presune na pole používa na sledovanie čiary jeden optický snímač umiestnený na pravom boku a po presune na pole pri pomalom pohybe vpred začne vyhľadávať burinu tromi optickými snímačmi umiestnenými vpredu medzi kolesami, pričom optickým snímačom na pravom boku stále sleduje čiaru na okraji poľa. Po zistení prítomnosti buriny jedným z troch snímačov robot pípne a zaznamená si polohu buriny, pričom pokračuje ďalej v pohybe vpred. Akonáhle sa burina dostane pod zadnú časť robota, robot zastaví a hrabličkou presunie burinu vľavo mimo riadok vysadených rastlín. Na konci riadka sa robot otočí a pokračuje v nasledovnom riadku opačným smerom, pričom odstránená burina sa zhromažďuje v strede medzi dvomi riadkami. Ak na konci tohto riadku mimo pole je vyznačená čiara, tak robot pokračuje po čiare ďalej a vráti sa na farmu. V prípade, že čiara nie je vyznačená, robot sa mal otočiť naspäť a pokračovať vo vyhľadávaní buriny v tretom riadku rastlín na poli, kde by sa na konci otočil a cestou naspäť by prehľadal štvrtý riadok. Počet nájdených burín sa priebežne zobrazuje na obrazovke riadiacej jednotky.
Robot
Robot ovláda jedna riadiaca jednotka EV3. Pre pohyb robota slúžia dva veľké EV3 motory s veľkými kolesami zo Spike Prime. Jeden stredný EV3 motor ovláda pohyb hrabličky na burinu umiestnenej v zadnej časti a druhý stredný EV3 motor mal slúžiť na nastavovanie výšky troch optických snímačov v prednej časti (v predloženom riešení táto funkcia nie je použitá). Na pravej strane vpredu je optický snímač pre sledovanie vyznačenej čiernej čiary a vpredu medzi kolesami sú ďalšie tri optické snímače pre sledovanie prítomnosti buriny – jeden vpredu v strede a dva za ním po bokoch, aby sa nestávalo, že burina veľkosti kocky 2x2 prejde v medzere medzi dvomi snímačmi umiestnenými v rade vedľa seba. Tieto tri snímače sú upevnené na výškovo nastaviteľnom ramene.
Program:
Pre vyhľadávanie buriny na poli bol vytvorený myblock, v ktorom sú dve vetvy. Prvá riadi pohyb v pred pozdĺž vyznačenej čiary a v druhej sa sleduje prítomnosť buriny (čierna farba zaznamenaná niektorým optickým snímačom), v prípade zaznamenania buriny sa jej poloha zapíše do premennej typ pole (zo snímača otáčok motora pre pohyb), nasleduje sledovanie, či sa hrablička dostala nad burinu zaznamenú v premennej typ pole a ak áno, robot zastane a hrabličkou odsunie burinu nabok a potom sa znova pohne vpred. Robot pokračuje vpred dokiaľ neboli odsunuté všetky zaznamenané buriny. Pre pohyb robota po čiare z farmy na pole, počítanie množstva burín, otočení na konci riadku poľa do nasledovného riadku a návrate z poľa na farmu po čiare slúži zvyšná časť programu.
PS:
V tomto projekte sa riadenie pohybu robota želaným smerom ukázal ako veľký problém. Pôvodne na pohyb robota slúžili dva krajné snímače z trojice pri nastavení malej výšky nad podložkou. Pohyb po čiare k poľu bol ešte ako tak prijateľný, ale následný pohyb robota po poli bol čokoľvek, len nie priamy – aj keď robot začal stredom nad riadkom rastlín, takmer vždy končil mimo. Preto sme sa rozhodli doplniť štvrtý optický snímač, ktorým sa sleduje okraj poľa a tým robot nevybočí z riadku rastlín. Následne však nastal veľký problém s riadením pohybu robota po čiare pomocou jedného senzora. Pri piatich skúškach rovnakého nastavenia parametrov sme dostali šesť rôznych výsledkov... Najskôr sme si mysleli, že to spôsobuje nerovnomerná odrazivosť našej podložky a preto sme ju prelepili novým papierom a všetky čierne čiary vyznačili nanovo. No ani toto nepomohlo a ďalej pretrvávali veľké problémy s riadením pohybu robota. Aj s takou prkotinou ako otáčanie robota na konci poľa medzi riadkami sme strávili hromadu času a aj tak sme nenašli nastavenie, pri ktorom by chybovosť bola menšia než polovica z pokusov. Podobné to bolo s pohybom robota z farmy na zadané pole. Nakoniec sa nám podarilo zdokumentovať len pohyb robota z farmy na prvé pole s dvomi riadkami rastlín a späť na farmu. Preto odovzdaný program neobsahuje možnosť voľby pre presun na zvolené pole. Robot je schopný odsunúť burinu (kocka 2x2) z medzery medzi rastlinami s dĺžkou 4 dieliky, pričom burina nemôže byť zarovno rastliny (robot je navrhnutý pre vyriešenie aj takejto situácie, ale k naprogramovaniu tejto možnosti sme sa už nedostali). Taktiež pre zjednodušenie predpokladáme, že vedľa seba sa nevyskytujú dve ani tri buriny.
1. Páči sa mi, že ste sa vrhli na riešenie úlohy pre tigrov :) Je vidieť, že vás úloha bavila a vyhrali ste sa s ňou. Pekné riešenie :) 2. Jednoduchá a spoľahlivá konštrukcia (mne osobne sa veľmi páčia tie voľné kolieska vzadu) a dobre navrhnutý mechanizmus na vyberanie buriny, ako aj spoľahlivá navigácia na riadku. Robot robí všetko čo treba a aj ste to správne zdokumentovali. Tiež oceňujem, že ste opísali aj problémy s ktorými ste sa borili, je to užitočná skúsenosť. 3. Ďakujeme, toto je výborné riešenie - robot zaregistruje postupne aj viacero burín predtým ako ich stihne odstrániť a potom, keď príde na správne miesto, tak proti burine zakročí. Podarilo sa Vám dať dohromady ďalší úkážkový výrobok. Paráda. Vydržte ešte do posledného kola! :-) 4. Super, že ste sa pustili do náročnejšej úlohy. Pekne ste odsúvali burinu. Možno by mohol nastať v realite problém, že by rastliny neboli takto rovnomerne rozložené, ale by boli napr. viac pokope, ale to nebolo zadanie tejto úlohy. Takže skvelé ste toto poriešili. Jediná drobnosť, že medzi nahrávkou, ako sa robot hýbal a odpratával burinu a tým, ako ste zobrazili počet burín na displeji, bol zostrih a bolo by lepšie, aby to bol v kuse, ale to je ozaj drobnosť.