Hrvatsko društvo za robotiku - Uvod u robotiku - vježbe

Niz vježbi 4

Cilj

Cilj je istrenirati osnovne zadatke za robota kako bi se moglo pristupiti složenijim.
Slijedi niz jednostavnih vježbi na kojima možete trenirati dosadašnje gradivo.

1. Preko rupe

Težina:
Napravite arenu prema slici.

Robot kreće s pozicije na slici i ide ravno sljedeća 2 polja.

Kad je senzor na bijelog podlozi, ide brzinom 90.

Kad je na crnoj, 45.

2. Oko rupe

Težina:
Arena je ista.

Robot mora doći do (bijelog) polja koje je iza crnog.

Nije dozvoljeno programirati put robota za ovu specifičnu arenu, nego treba napraviti algoritam koji će obići svaku crnu rupu.

Robot ni u jednom trenutku ne smije biti sa sva 4 kotača na crnom polju.

3. Prepreka

Težina:
Malo proširite arenu i postavite prepreku.

Robot mora pratiti liniju i stati ispred prepreke.

4. Rampa

Težina:
Ista arena.

Isti zadatak, ali robot mora nastaviti pratiti liniju kad se ukloni prepreka.

5. Okret

Težina:
Ista arena.

Zadatak isti kao i prošli, ali robot se mora okrenuti za 90° pred preprekom.

6. Sa strane

Težina:
Ista arena, ali pozicija prepreke je promijenjena.

Pratite crtu i stanite kad je prepreka lijevo od robota.

7. Sa strane 100%

Težina:
Ista arena.

Pratite crtu i zastanite svaki put 1 sekundu pored objekta.

Uočite da senzori udaljenosti nisu tako pouzdani kao reflektivni. Nekad vide objekt kad ga nema - refleksija neke neravnine na tlu ili drugi problem.

Načinite mjerenje pouzdanim: za prepoznavanje tražene situacije koristite 2 mjerenja.

8. Sa strane 2. put

Težina:
Ista arena.

Zadatak isti kao i prethodni, ali stanite tek kad je prepreka 2. put s lijeve strane.

9. Štoperica

Težina:
Ista arena.

Trebate 2 robota.

Jedan će napraviti krug prateći crtu i nije predmet ovog zadatka.

Drugog trebate programirati tako da izmjeri vrijeme koliko treba prvom za 1 krug.

10. Brojač krugova

Težina:
Ista arena.

Neka 2. robot na svom 8x8 displeju broji započete krugova (1, 2,...).

Nakon 5. kruga, neka na mobitelu ispiše ukupno vrijeme za 5 krugova.

11. Kratica

Težina:
Ista arena.

Pratite crtu.

Kad prođete prepreku (desno od nje), skrenite lijevo, idite po dijelu arene bez crte, dok opet ne dođete na crtu.

Kad dođete do crte, okrenite se lijevo i nastavite ju pratiti.

12. U

Težina:
Ista arena.

Pratite crtu.

Svaki put kad robot dođe do prepreke sa strane, neka se okrene za 180° i nastavi pratiti crtu.

13. Lijevo-desno

Težina:
Ista arena.

Počnite pratiti crtu s 3 pred-krajnja tranzistora s bilo koje strane senzora.

Znači s 3 do krajnjeg.

Svaki put kad robot dođe do objekta sa strane, neka promijeni krajnje senzore. Znači, ako je pratio s 3 lijeva, neka prati dalje s 3 desna krajnja i obrnuto.

14. Pomalo lijevo-desno

Težina:
Ista arena.

Zadatak kao i prethodni uz promjenu.

Svaki put kad prođe objekt neka pomakne 3 aktivna tranzistora za jedno mjesto.

Npr., ako je pratio tranzistorima 1, 2 i 3 (0 ne koristi, taj je krajnji), neka nastavi pratiti tranzistorima 2, 3 i 4.

Kad dođe do tranzistora 5, 6 i 7 (do krajnjeg 8), treba krenuti u drugom smjeru, počevši s tranzistorima 4, 5 i 6.

15. Drvored

Težina:
Ista arena, ali s drugačijim rasporedom flaša.

Robot treba pratiti crtu i srušiti ili odgurati sva 3 objekta.

Između 2 rušenja treba isto pratiti crtu.

Maknite sve objekte koji su odgurani, ali nisu srušeni, kako ih robot više ne bi vidio.

16. Svaki drugi

Težina:
Ista arena.

Zadatak je isti kao i prethodni, osim u tome da robot mora srušiti svaki drugi objekt, ne svaki.

Nakon što je ostalo samo jedan objekt, treba ga srušiti u 2. prolazu.

17. Naokolo

Težina:
Arena može ostati ista, premda je bitan samo prvi objekt.

Robot prati crtu.

Kad vidi objekt desno, mora ga obići s vanjske strane i nastaviti pratiti crtu.

18. Poprečna crta bez trzanja

Težina:
Napravite arenu prema slici.

Pratite crtu.

Kad dođete na poprečnu, nastavite ravno bez trzanja.

19. Poprečna crta za stop

Težina:
Ista arena.

Pratite crtu.

Kad dođete na poprečnu, stanite.

20. 2 x U

Težina:
Ista arena.

Pratite crtu.

Kad dođete na poprečnu, okrenite se za 180° i nastavite pratiti crtu.

21. 2 x U + stop

Težina:
Ista arena.

Pratite crtu.

Kad dođete na poprečnu, okrenite se za 180° i nastavite pratiti crtu, isto kao u prethodnoj vježbi.

Nakon što 3. put dođete do poprečne crte, stanite.

22. Varajte!

Težina:
Ista arena.

Zamislimo da robot treba skrenuti na raskrižju lijevo ili desno, da je oznaka skretanja na površini, ali mi ju ne znamo očitati. Npr. zeleni kvadratić.

Međutim, mi želimo pobijediti i spremni smo zaobići službena pravila, koja kažu da se robot ne smije predprogramirati za određenu stazu.

Simulirajmo situaciju ovako:
  1. Držite robota u rukama.
  2. Sudac kaže "lijevo" ili "desno", smjer skretanja na raskrižju.
  3. Stavljate robota na poziciju prema slici.
  4. Pokrećete ga pritiskom na uvijek isti prekidač.
Programirajte robota da izvede točno skretanje.

23. Varajte još drskije!

Težina:
Ista arena.

Sudac je uočio da se događaju čudne predradnje i promijenio je pravila:
  1. Stavljate robota na poziciju prema slici.
  2. Pokrenete robota.
  3. Sudac kaže "lijevo" ili "desno", smjer skretanja na raskrižju.
Drugo je sve kao i u prethodnom zadatku.

Programirajte robota da izvede točno skretanje.

24. 2 događaja

Težina:
Ista arena plus dodatni objekt u sredini.

Pratite crtu.

2 su događaja:
  1. objekt viđen sa strane,
  2. poprečna crta.
Zadatak je stati, nakon što se dogode oba.

25. 2 događaja u nizu

Težina:
Ista arena.

Zadatak je isti, s dodatkom da se staje kad se prvi put vidi objekt sa strane nakon što je robot već prešao poprečnu liniju.

26. Slučajni događaj

Težina:
Ista arena, ali prije starta maknite objekt.

Robot krene.

Tek nakon kretanja stavite objekt lijevo ili desno od robota.

Kad dođe na raskrižje, robot mora skrenuti na onu stranu na kojoj je bio objekt koji je prošao.

Primjedbe



Projekt "Uvod u robotiku" sufinanciran je iz Europskog socijalnog fonda, poziv "Jačanje kapaciteta organizacija civilnoga društva za popularizaciju STEM-a". Relevantne stranice: Sadržaj vježbe za virtualne radionice isključiva je odgovornost Hrvatskog društva za robotiku.