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

Pokretanje

Cilj

Cilj je podići program u robota i pokrenuti ga.
×
Pokrenite Visual Studio Code (VS Code) program. Pretpostavka je da ste ga instalirali prema našim uputama.

U tom slučaju će se otvoriti ekran sličan slici lijevo, u kojem je druga traka slijeve ispunjena našim projektom.

Ukoliko ga ne vidite, kliknite na tipku za otvaranje Explorera u najljevijoj traci.

×
U direktoriju su 3 vrste datoteka:
  • ".h" datoteke - "zaglavlja" C++ programa. Ovim tipom se nećemo puno baviti na početku.
  • ".cpp" datoteke - C++ funkcije. U bar jednoj od njih ćete pisati svoje programe.
Ako slažete robota za praćenje linije, "mrm-robot-line.*" (zvjezdicom označavamo proizvodnji niz znakova) su datoteke s njegovim funkcijama.

Ako slažete robota za nogomet, "mrm-robot-soccer.*" su datoteke s njegovim funkcijama.

Ako slažete robota za labirint, "mrm-robot-maze.*" su datoteke s njegovim funkcijama.

Koncentrirajte se na datoteke za vašeg robota. Ostale "*.h" i "*.cpp" datoteke su za 3 druge vrste robota. Njih je moguće i obrisati, ako nećete programirati druge vrste robota. Cjelokupna programska podrška je, kako vidimo, za razne vrste robota. Nešto što možemo zahvaliti terminu "objektno programiranje".

Pored gornjih datoteka, na početku liste je "main.cpp", početna datoteka za izvođenje programa. Taj podatak neće biti od velike važnosti za Vas. Jedino za što će vam datoteka biti korisna je izbor robota.

Robot je predefiniran na način da su programirane osnovne funkcije svojstvene za namjenu robota. Kako ćemo izabrati robota (za liniju, nogomet ili labirint)? Upute slijede.
  • Dvostruko kliknite na "main.cpp". Otvorit će se sadržaj datoteke.
  • Skrolirajte prema dolje dok ne vidite tekst na koji pokazuje strelica prema dolje.
    • Ako slažete robota za praćenje linije, programska linija mora izgledati ovako:
      	robot = new RobotLine((char*)"Donald"); // ...
      		
    • Ako slažete robota za nogomet:
      	robot = new RobotSoccer((char*)"Donald"); // ...
      		
    • Ako slažete robota za labirint:
      	robot = new RobotMaze((char*)"Donald"); // ...
      		
    "Donald" je proizvoljna riječ - ime vašeg robota. Možete izabrati neku drugu, samo ne predugu. Pazite da točno izaberete robota! Inače ćete pokrenuti krivi program i neće Vam biti jasno što se događa. Umjesto "..." će u programu biti neki test (komentar).
  • Kompalirajte program (Nike) da provjerite je li sve u redu.
Ovaj dio je gotov i više se nikad nećete vratiti na "main.cpp" u ovom tečaju, osim u slučaju da želite promijeniti ime robota.

Eksperti,

×
Pokušaj kompaliranja programa (Nike) ili podizanja na robot (desna strelica) može rezultirati uspjehom ili neuspjehom. Na lijevoj slici je primjer neuspjeha: "FAILED".

Razlozi mogu biti razni. Pogledajte tekst iznad: "... could not open port 'COM17': PermissionError...". Drugim riječima, računalo nije uspjelo ostvariti komunikaciju s robotom putem USB kabla. Možda robot nije uključen, kabel nije uključen, neki drugi program je zauzeo USB port. Dok ne ispravimo uzrok, poruka neće nestati i nećemo moći pokrenuti robota.
Prilično čest problem je neispravan USB kabel. Probajte drugi.

×
U ovom smo slučaju imali više uspjeha. Program je uspješno kompajliran i podignut na robota. Kruna svega je poruka "SUCCESS".

×
Isključivanjem robota se ne gubi program koji je već u njemu. Često imamo situaciju da ne želimo mijenjati postojeći program, nego se samo spojiti na robota.

"Spajanje" je radnja koja će nam omogućiti da dajemo naredbe robotu i da nam on ispisuje rezultate na računalu.

Akcija koja postiže željeni cilj je utičnica, tipka na donjoj traci. Pritiskom na istu će se otvoriti "terminal" (ekran u koji upisujemo naredbe i robot ispisuje poruke), koji izgleda otprilike kao na ekranu lijevo.

  • Na početku su neki čudni simboli. Njih preskočite.
  • Slijedi tekst "My robot started". "My robot" je zapravo ime robota koje Vi zadajete. Učinit ćete to kasnije.
  • Slijedi nekoliko poruka dijagnostike, testa raznih dijelova robota i ispis nađenih pločica, u našem primjeru 8x8 LEDa i 4 kontrolera motora. Vaša će lista biti dulja.
  • Na dnu je meni - popis svih naredbi i podmenija. Lista se mijenja u skladu s tim koje su pločice detektirane.
Eksperti,

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.