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

Stupovi

Cilj

Na križanjima skretati kako je označeno stupovima.

Arena

×
Robot treba slijediti liniju.

Na križanju mora skrenuti u smjeru u kojem je posljednji put vidio stup.

Ako se radi natjecanje, pobjeđuje onaj tko je prošao najveći broj križanja.

Ako više natjecatelja prođe isti broj stupova, rangiraju se po vremenu.

Stop

Za početak zaustavite robota na svakom križanju 3 sekunde.

Nakon toga skrenite uvijek desno.

U prikazanom rješenju je, kao i obično, "..." dio koji morate zamijeniti kodom za praćenje linije.

Prepoznavanje stupova

Koristite lidare za prepoznavanje stupova.

Kad prođete pored lijevog stupa, ispište "L" na 8x8 displej.

Analogno, "R" za desni.

Greške

Neminovno će lidari mjeriti ponekad krivo. Npr., očitat će neku neravninu na podu kao stup.

Popravite kod tako da nalazi samo stupove.

Natuknica: ovaj kod mjeri 6 puta i daje točniju vrijednost od jednog mjerenja:
frontLeft(6);
Oprez, mjerenje 6 puta traje. Potrebno je prvo zaustaviti robota.

Zastoji

Uočavamo novi problem: kad robot jednom dođe do stupa, više puta zastane, mjereći.

Razultat je da robotu treba jako dugo dok, mileći, prođe stup.

Zastoje treba eliminirati.

Najbolje je uvesti varijablu koja će pamtiti jesmo li već vidjeli stup na toj strani.

Skretanje

Kad već imamo varijablu, koja označava na kojoj je strani bio posljednji stup, iskoristimo ju za skretanje.

Znači, skrećimo na križanjima.

Displej

Kako bismo lakše vidjeli s koje je strane uočen stup, iskoristimo 8x8 displej.

Na njemu ispišimo s koje je strane posljednji put viđen stup.

Kad dođemo na križanje, ispišimo da smo na križanju.

Pogledajte koje su bitmape raspoložive i izaberite 3 za ovu namjenu.

Rješenje

Ako imate šifru, ovdje možete uživati u cijelom kodu rješenja.

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.