Poteškoće s radom micro:maqueen Plus robota

U nastavku saznajte kako prepoznati moguće poteškoće u radu micro:Maqueen Plus robota te kako ih testiranjem i prilagodbom programa jednostavno otkloniti.

Uvodne napomene
  • Micro:Maqueen je edukacijski robot koji je primarno usmjeren za učenje osnova mobilne robotike te se kao edukacijski uređaj ne odlikuje visokom preciznošću kretanja.
  • Robot je u našim projektima zamišljen kao alat za učenje programiranja, robotike, ali najvažnije za savladavanje pristupa u rješavanju problema poput metode pokušaja i pogreške te učenje rješavanja problemskih zadataka.
  • Micro:Maqueen robot (kao i velika većina drugih edukacijskih robota) koristi istosmjerne motore s redukcijom koji su zrcalno postavljeni na robot (jedan s lijeve, drugi s desne strane), što znači, da bi robot ostvario gibanje prema naprijed jedan se motor vrti u smjeru kazaljke na satu, a drugi u smjeru suprotnom od kazaljke na satu. S obzirom na fizikalna svojstva i princip rada motora, motori se pri istom naponu (brzini koju definirate unutar programa 0-255) ne okreću istom brzinom u oba smjera, što rezultira time da robot može blago skretati u jednu stranu pri korištenju naredbe za vožnju unaprijed. Ova pojava je potpuno normalna za blaga odstupanja, što možemo kompenzirati kako je objašnjeno u nastavku. Veća odstupanja u pravocrtnom gibanju nisu uobičajena. Brzina koju postavimo u programskom kôdu (0-255), zbog navedenih fizikalnih svojstava neće nužno na različitim robotima rezultirati istom brzinom kretanja u stvarnosti.
  • Micro:Maqueen robot (kao i velika većina drugih edukacijskih robota) koristi HC-SR04 ultrazvučni senzor za mjerenje udaljenosti robota i prepreke. Kako bi ovaj senzor radio pouzdano, potrebno je omogućiti da senzor završi ciklus mjerenja prije nego što mu ponovno zadamo da mjeri udaljenost, što možemo programski osigurati kako je objašnjeno u nastavku.
  • Svaki senzor za praćenje linije ima infracrveni odašiljač i infracrveni prijemnik. Infracrveni odašiljač neprekidno emitira infracrvenu svjetlost tijekom kretanja robota. Infracrveno svjetlo se reflektira kada se robot susreće s bijelom ili nekom drugom svijetlom površinom i tada prijemnik prima infracrveni signal i upravljačkoj pločici šalje vrijednost 0. Ako se infracrveno svjetlo apsorbira ili se ne može odraziti (na tamnim površinama), prijemnik neće primiti infracrveni signal pa šalje vrijednost 1.
  • Ako je staza po kojoj robot vozi reflektirajuća (vrsta papira nije mat) ili je printana na laserskom pisaču koji drugačije miješa boje od tintnog pisača, na tamnim površinama, umjesto apsorpcije, svjetlo će se reflektirati te će senzor krivo očitati vrijednost. Zato je važno na kojem papiru i kojim pisačem se ispisuje staza za testiranje praćenja linije kod robota. Preporučamo printanje na običnom fotokopirnom papiru sa inkjet printerom.
Osnovna provjera

Naravno, na robotu se mogu pojaviti problemi u funkcioniranju robota. Kako bi na što jednostavniji način utvrdili tehničke poteškoće s pojedinim robotom slijedite sljedeće upute:

1.  Stavite nove baterije na robot.

2. Provjerite da su gume na kotačima ispravno postavljene.

3. Provjerite da kotač ne zapinje o upravljačku pločicu robota (ovo se događa ako je kotač krivo okrenut).

4. Provjerite da je ultrazvučni senzor ispravno i do kraja utaknut u konektor.

5. Provjerite da je micro:bit ispravno i do kraja utaknut u konektor.

6. Maknite s robota dodatne senzore (npr. HuskyLens kameru)

7. Prije korištenja senzora za praćenje linije, napravite kalibraciju senzora na stazi koju koristite.

8. Pripremite kružnu stazu koja je došla u kutiji s robotom.

Programi za dijagnostiku

Ako nakon ovih uputa i dalje imate poteškoća, preuzmite programe u nastavku i prebacite ih na micro:bit te testirajte.

Ovdje preuzmite datoteku s programima koja sadrži:

  • Program 1 – vožnja unaprijed – testiranje rada motora
  • Program 2 – praćenje linije – prilagodba brzine kod praćenja linije
  • Program 3 – vožnja do prepreke – tesiranje rada ultrazvučnog senzora
  • Program 4 – praćenje linije pomoću analognih vrijednosti senzora – testiranja rada senzora za praćenje linije
  • Funkcija za kalibraciju senzora za praćenje linije – rješenje u slučaju neispravnog kalibracijskog tipkala na robotu

Program 1: Pritiskom na tipkalo A ili B robot vozi ravno 5 sekundi nakon čega se zaustavlja.

  • Tipkalo A – u programu se koristi jedna naredba za istovremeno pokretanje oba motora istom brzinom prema naprijed. Iz prethodno opisanog razloga, robot može blago skretati u jednu stranu pri korištenju naredbe za vožnju unaprijed.
  • Tipkalo B – u programu se koriste dvije naredbe, jedna za pokretanje lijevog i druga za pokretanje desnog motora različitim brzinama, prema naprijed. Brzine su kod svakog motora prilagođene tako da robot vozi pravocrtno. Prilagodite ove brzine tako da Vaš robot vozi što pravilnije.

Proučite primjere vožnje robota u sljedećim videozapisima:
https://vimeo.com/80274159823 – Tipkalo A (normalno ponašanje robota)
https://vimeo.com/80298815118 – Tipkalo A (neispravan motor)
https://vimeo.com/80298875613 – Tipkalo B (prilagodba brzine)

Program 2: Pritiskom na tipkalo A ili B robot prati liniju senzorima L1 i M sve dok ne detektira kraj linije koristeći senzore L1 i R1 kada se zaustavlja.

  • Tipkalo A – u programu se koristi funkcija Prati Liniju L1 M gdje su sve brzine kretanja iste i postavljenje na 150. Iz prethodno opisanog razloga, zbog različitog rada lijevog i desnog motora, moguće je da robot u zavoju izleti sa linije i zaustavi se jer je sa sva tri senzora izašao na bijelu podlogu.
  • Tipkalo B – u programu se koristi funkcija Prati Liniju L1 M prilagodba brzine gdje su prilagođene brzine kretanja lijevog i desnog motora ovisno o tome koji je motor jači. Sada robot prati liniju bez izlijetanja. Prilagodite ove brzine tako da Vaš robot uspješno prati liniju.

Proučite primjere praćenja linije robota u sljedećim videozapisima:
https://vimeo.com/80395067515 – Tipkalo A (prevelika brzina)
https://vimeo.com/80395234012 – Tipkalo B (prilagođena brzina)

Program 3: Pritiskom na tipkalo A ili B robot prati liniju senzorima L1 i M sve dok ultrazvučnim senzorom ne detektira prepreku na udaljenosti od 7 centimetara kada se zaustavlja.

  • Tipkalo A – u programu se, u uvjetu repeat until petlje, koristi naredba kojom ultrazvučni senzor očitava udaljenost od prepreke. Iz prethodno opisanog razloga – prečestog očitavanja vrijednosti ultrazvučnim senzorom, može se dogoditi pogreška pri očitavanju pa senzor očita vrijednost 0. Tada program izađe iz petlje i robot se zaustavi iako se ispred njega ne nalazi prepreka.

Ako primijetite da se to događa kod Vašeg robota, izmijenite program kako je opisano u nastavku.

  • Tipkalo B – u programu želimo osigurati da ultrazvučni senzor ne očitava vrijednosti prečesto jer mu treba neko vrijeme da bi završio prethodno mjerenje. Ako ga dva puta ili niz puta zaredom pozovemo, a on nije izvršio prethodno mjerenje do kraja, dogodit će se pogreška pri očitavanju. Zato ćemo u svakom ciklusu provjere, unutar repeat until petlje, jednom napraviti očitanje senzora i vrijednost pohraniti u varijablu Udaljenost. Sada robot uspješno prati liniju do prepreke.

Program 4: Pritiskom na tipkalo A kalibrirate robot koristeći analogne vrijednosti senzora za praćenje linije. Nakon kalibracije, pritiskom na tipkalo B robot kreće s praćenjem linije senzorima L1 i M koristeći njihove analogne vrijednosti. Kada senzorima detektira bijelu podlogu, zaustavlja se.

Analogne vrijednosti senzora za praćenje linije nakon kalibracije, moguće je vidjeti unutar Mind+ aplikacije ukoliko je micro:bit serijski povezan s računalom.

  • Manualna kalibracija robota – robot postavite na stazu tako da su mu unutarnji senzori L1, M i R1 na crnoj podlozi, a vanjski L2 i R2 na bijeloj podlozi. Nakon što ste robot postavili na tu poziciju, pritisnite tipkalo A na micro:bitu. Uključit će se zelena svjetla na 1 sekundu kao znak da je kalibracija bila uspješna.
  • Serijsko povezivanje i očitavanje analognih vrijednosti – nakon što prebacite program, micro:bit mora USB kablom ostati povezan na računalo. Pozicionirajte robot kako je navedeno u dijelu Manualna kalibracija robota i omogućite serijski komunikaciju unutar Mind+ aplikacije. Na micro:bitu pritisnite tipkalo A i očitajte vrijednosti ispisane unutar crnog prozora aplikacije kako je prikazano na slici:
  • Praćenje linije – postavite sada robot na stazu tako da je s unutarnjim senzorima L1, M i R1 na crnoj podlozi i pritisnite tipkalo B na micro:bitu. Robot kreće s praćenjem linije.

Proučite manualnu kalibraciju robota, serijsko očitavanje vrijednosti i praćenje linije u sljedećem videozapisu:
https://vimeo.com/90226861214

Funkcija za kalibraciju senzora za praćenje linije

Ako vam kalibracijsko tipkalo na robotu ne radi ili je otkinuto, preuzmite i proučite ovu uputu te saznajte kako programski dodati mogućnost kalibracije senzora za praćenje linije pomoću tipkala B na micro:bitu.