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

Team name: M-TEAM

About the team: Tím ZŠ v Marhani

Assignment: Plán

Náš robot má dosť jednoduchú stavbu. Skladá sa z 3 veľkých motorov, 3 optických snímačov a jedného dotykového snímača. Okrem samotného robota sme ešte postavili vežičku, na vrchu ktorej sa stretávajú LEGO - panáčikovia. Bludisko sme spravili nalepením čiernej pásky na bielu tabuľu.

Program 

Program sa skladá z 4 častí:

1. Zadávanie smeru

Robot vyzve, aby sme mu zadali smer - na displeji zobrazí vetu "Teraz zadaj smery". Smery zadávame tlačidlami vľavo a vpravo. Po stlačení tlačidla robot zobrazí "VLAVO" alebo "VPRAVO", zapíše smer do súboru "SMER". Ak zadávame smer doľava, tak do súboru zapíšeme číslo -100, keď smer doprava, tak číslo 100. Keď zapíše smer do súboru, tak na displeji zobrazí "Zapisane...". Zároveň vypíše oznam "Ak je to vsetko, tak stlac stred. tlacidlo". Stlačením stredného tlačidla sa ukončí zapisovanie smeru a zapíšeme 0. 0 znamená koniec súboru. Súbor uzavrieme. 

2. Jazda po páske.

Robot sa rozbehne po páske. Priamy smer udržujeme pomocou stredného optického snímača, ktorý neustále kontroluje farbu - čiernu a bielu a podľa toho sa obládajú motory tak, aby robot šiel stále stredným snímačom po páske. Ďalej musí robot určiť, či je alebo nie je na križovatke. Na to použijeme krajné optické senzory. Funguje to takto:
Vytvoríme 2 logické premenné senzor1, senzor2. Do nich zapíšeme "NEPRAVDA". Pri pohybe robota vpred stále kontrolujeme farbu. Ak robot príde na križovatku, tak buď ľavý (odbočka vľavo), pravý (odbočka vpravo) alebo obidva senzory (križovatka v tvare T) zahlásia čiernu - vyhodia číslo 1. Ak ľavý senzor zahlási čiernu, tak do premenej senzor1 zapíšeme "PRAVDA". Ak pravý senzor zahlási čiernu, tak do premenej senzor2 zapíšeme "PRAVDA". Potom obsah obidvoch premenných načítame do logickej funkcie ALEBO - OR. Táto funkcia vyhodí stav "PRAVDA" ak aspoň jedna premenná obsahuje "PRAVDA". Ak teda funkcia ALEBO vyhodí "PRAVDA", tak to znamená, že sme na križovatke a robot zastaví - lebo treba odbočovať.

3. Otáčanie na križovatke

Po zastavení robot ešte spraví krátky pohyb - aby sme dostali kolesá na úroveň odbočky. Načítame číslo zo suboru "SMER". Na displeji robot ukáže, či pôjde vľavo alebo vpravo. Otočenie urobíme z 2 častí.  Najprv robot pootočíme tak, aby sme stredný senzor dostali preč z čiernej pásky. Potom robot otáčame dovtedy, kým stredný senzor nenájde čiernu. Pri obidvoch otočeniach používame ovládanie "volant"  - do bloku zadávame smer načítaný zo súboru.  Popri tom, ešte kontrolujeme, či nie je zo súboru načítaná 0 - to by znamenalo, že je koniec súboru a slučka sa tým preruší. Inak sa slučka opakuje - kým neprejdeme všetky zadané križovatky. 

4. Na záver už len ide robot po páske - opakuje sa slučka dovtedy, kým nedôjde k stlačeniu dotykového snímača (stlačenie tlačidla kontrolujeme na viacerých miestach v programe - aby sa dal robot zastaviť hocikedy). To znamená, že robot prišiel na miesto. Zaznie zvuk "TOUCH", na displeji sa zobrazí "CIEL". Horný veľký motor vyloží LEGOpanáčika k ostatným, robot zacúva a zaznie fanfára. 

HOTOVO :)

 

Photos:

Videos:

Programs:

Rating:

1. Pekne spravené, dobrá práca.

2. Za úlohu plán získavate 3b. Navrhli ste si veľmi pestré bludisko :)

3. Bludisko máte poriadne komplikované. Video je trocha zvláštne, že ukážete najprv programovanie pomerne komplikovanej trate s viacerými odbočkami vlavo/vpravo a potom na videu je len jedna či dve križovatky. Neskôr je to už jasné, ze zadávanie nepatrilo k príkladom funkčnosti. Robot robí, čo má a príde na správne miesto.

4. Chválim podrobný písomný popis riešenia úlohy aj spracovanie videa.