Sadržaj:

LEGO robot vozi kroz labirint: 9 koraka
LEGO robot vozi kroz labirint: 9 koraka

Video: LEGO robot vozi kroz labirint: 9 koraka

Video: LEGO robot vozi kroz labirint: 9 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Srpanj
Anonim
Image
Image
Baza robota
Baza robota

Ovo je jednostavan, autonomni robot dizajniran za vožnju kroz labirint do izlaza. Izrađen je pomoću LEGO Mindstorms EV3. EV3 softver radi na računalu i generira program koji se zatim preuzima na mikrokontroler pod nazivom EV3 Brick. Metoda programiranja temelji se na ikonama i na visokoj je razini. Vrlo je jednostavan i svestran.

DIJELOVI

  1. Komplet LEGO Mindstorms EV3
  2. LEGO ultrazvučni senzor EV3 Mindstorms EV3. Nije uključen u set EV3.
  3. Valoviti karton za labirint. Dva kartona bi trebala biti dovoljna.
  4. Mali komad tankog kartona za stabilizaciju nekih uglova i zidova.
  5. Ljepilo i traka za povezivanje kartonskih komada.
  6. Crvena omotnica s čestitkom za identifikaciju izlaza iz labirinta.

ALATI

  1. Pomoćni nož za rezanje kartona.
  2. Čelično ravnalo za pomoć pri rezanju.

METODA RJEŠAVANJA LABORATA

Postoji nekoliko metoda kretanja labirintom. Ako ste zainteresirani za njihovo proučavanje, oni su vrlo dobro opisani u sljedećem članku na Wikipediji:

Odabrao sam pravilo lijevog zidnog sljedbenika. Ideja je da će robot zadržati zid s lijeve strane donoseći sljedeće odluke dok prolazi kroz labirint:

  1. Ako je moguće skrenuti ulijevo, učinite to.
  2. U suprotnom, idite ravno ako je moguće.
  3. Ako ne može ići lijevo ili ravno, ako je moguće, skrenite desno.
  4. Ako ništa od gore navedenog nije moguće, ovo mora biti slijepa ulica. Okrenuti se.

Jedan je upozorenje da bi metoda mogla uspjeti ako labirint ima petlju. Ovisno o položaju petlje, robot bi se mogao stalno kretati oko petlje. Moguće rješenje za ovaj problem bilo bi da robot pređe na pravilo praćenja zidova s desne strane ako shvati da ide u petlju. Ovo poboljšanje nisam uključio u svoj projekt.

KORACI ZA IZGRADNJU ROBOTA

Iako je LEGO Mindstorms EV3 vrlo svestran, ne dopušta više od jednog tipa senzora spojenog na jednu ciglu. Dvije ili više opeka mogle su biti vezane tratinčicom, ali nisam htio kupiti drugu opeku, pa sam upotrijebio sljedeće senzore (umjesto tri ultrazvučna senzora): infracrveni senzor, senzor boje i ultrazvučni senzor. Ovo je dobro funkcioniralo. Parovi fotografija u nastavku pokazuju kako izgraditi robota. Prva fotografija svakog para prikazuje potrebne dijelove, a druga fotografija prikazuje iste dijelove povezane zajedno.

Korak 1: Baza robota

Baza robota
Baza robota

Prvi korak je izgradnja baze robota, pomoću prikazanih dijelova. Baza robota prikazana je naopako. Mali dio u obliku slova L na stražnjoj strani robota potpora je za leđa. Klizi dok se robot kreće. Ovo radi u redu. Komplet EV3 nema dio tipa kotrljajuće kugle.

Korak 2: Vrh baze

Vrh baze
Vrh baze
Vrh baze
Vrh baze
Vrh baze
Vrh baze

Sljedeća 3 koraka odnose se na vrh baze robota, senzor boje i kabele, koji su svi kabeli od 10 inča (26 cm)

Korak 3: Infracrveni i ultrazvučni senzori

Infracrveni i ultrazvučni senzori
Infracrveni i ultrazvučni senzori
Infracrveni i ultrazvučni senzori
Infracrveni i ultrazvučni senzori

Zatim su infracrveni senzor (s lijeve strane robota) i ultrazvučni senzor (s desne strane). Također, 4 igle za pričvršćivanje opeke na vrh.

Infracrveni i ultrazvučni senzori nalaze se okomito umjesto normalne vodoravne. To omogućuje bolju identifikaciju uglova ili krajeva zidova.

Korak 4: Kablovi

Kablovi
Kablovi

Pričvrstite opeku i spojite kabele na sljedeći način:

  • Priključak B: lijevi veliki motor.
  • Priključak C: veliki desni motor.
  • Priključak 2: ultrazvučni senzor.
  • Priključak 3: senzor boje.
  • Priključak 4: infracrveni senzor.

Korak 5: Posljednji korak u izgradnji robota: Dekoracija

Posljednji korak u izgradnji robota: Dekoracija
Posljednji korak u izgradnji robota: Dekoracija
Posljednji korak u izgradnji robota: Dekoracija
Posljednji korak u izgradnji robota: Dekoracija
Posljednji korak u izgradnji robota: Dekoracija
Posljednji korak u izgradnji robota: Dekoracija

Krila i peraje služe samo za ukras.

Korak 6: Pseudokod za program

  1. Pričekajte 3 sekunde i recite "Idi".
  2. Pokrenite robota da se kreće ravno naprijed.
  3. Ako je moguće skrenuti ulijevo (tj. Ako infracrveni senzor ne osjeća objekt u blizini), recite "Lijevo" i idite lijevo.
  4. Idite naprijed oko 15 cm kako biste izbjegli lažno skretanje ulijevo. Razlog je taj što bi nakon što se robot okrenuo, senzor vidio dugačak prostor s kojeg je upravo došao, a robot bi pomislio da bi trebao skrenuti ulijevo, što nije ispravno učiniti. Vratite se na korak 2.
  5. Ako nije moguće skrenuti ulijevo, provjerite što senzor boje vidi ispred robota.
  6. Ako nema boje (tj. Nema objekta), vratite se na korak 2.
  7. Ako je boja crvena, ovo je izlaz. Zaustavite robota, svirajte fanfare i zaustavite program.
  8. Ako je boja smeđa (tj. Smeđi karton naprijed), tada zaustavite robota.

    1. Ako je moguće skrenuti udesno (tj. Ako ultrazvučni senzor ne osjeća objekt u blizini), recite "Desno" i idite desno. Vratite se na korak 2.
    2. Ako nije moguće skrenuti udesno, recite "Uh-oh", napravite sigurnosnu kopiju oko 12 inča (5 inča) i okrenite se. Vratite se na korak 2.

Korak 7: Program

Program
Program

LEGO Mindstorms EV3 ima vrlo prikladnu metodu programiranja zasnovanu na ikonama. Blokovi su prikazani pri dnu zaslona na računalu i mogu se povući i ispustiti u prozor za programiranje za izradu programa. Snimka zaslona prikazuje program za ovaj projekt. Blokovi su opisani u sljedećem koraku.

Nisam mogao shvatiti kako vam postaviti preuzimanje programa, pa su Blokovi opisani u sljedećem koraku. Svaki blok ima opcije i parametre. Vrlo je jednostavan i svestran. Ne bi vam trebalo puno vremena za razvoj programa i/ili promjenu prema vašim potrebama. Kao i uvijek, dobra je ideja povremeno spremati program prilikom razvoja.

EV3 Brick može biti spojen na računalo putem USB kabela, Wi-Fi ili Bluetooth veze. Kad je spojen i uključen, to je naznačeno u malom prozorčiću u donjem desnom kutu prozora EV3 na računalu. "EV3" s krajnje desne strane postaje crveno. Kada je ovaj zaslon postavljen na Port View, u stvarnom vremenu prikazuje ono što svaki senzor detektira. Ovo je korisno za eksperimentiranje.

Prilikom izrade ovog programa predlažem da radite slijeva nadesno i odozgo prema dolje, te da povećate blokove petlje i prekidače prije nego što unutra povučete druge blokove. Naišao sam na neuredne probleme pokušavajući umetnuti dodatne blokove unutra prije povećanja.

Korak 8: Blokovi programa

  1. Počevši od lijeve strane programa, početni blok je automatski prisutan kada se program razvija.
  2. Slijedi blok čekanja koji nam daje 3 sekunde da postavimo robota na ulaz u labirint, nakon pokretanja programa.
  3. Zvučni blok tjera robota da kaže "Idi".
  4. Blok petlje sadrži većinu programa. Zaslon bi se trebao smanjiti 4 ili 5 puta, a ovaj blok petlje trebao bi se povećati gotovo do desnog ruba programskog platna prije nego počnete umetati blokove. Nakon toga se može smanjiti.
  5. Prvi blok unutar petlje je blok za premještanje upravljača s upravljačem postavljenim na nulu i snagom na 20. Time se pokreću motori ravno naprijed pri niskim brzinama. Veća brzina dovela bi do toga da se robot odmakne predaleko ako nastavi naprijed dok govori u sljedećim koracima.
  6. Blok prekidača u načinu rada infracrvenog senzora provjerava postoji li neki predmet dalje od vrijednosti 30. To je ekvivalentno približno 9 inča (23 cm) za smeđi karton. Ako je vrijednost veća od 30, tada se izvršavaju blokovi 7, 8 i 9, u suprotnom program prelazi na blok 10 ispod.
  7. Zvučni blok tjera robota da kaže "Lijevo".
  8. Blok upravljača s pomakom s postavljenim upravljanjem na -45, snagom na 20, rotacijama na 1,26 i kočenjem na kraju postavljenim na True. Zbog toga robot skreće ulijevo.
  9. Blok upravljača s pomakom s upravljačem postavljenim na nulu, snagom na 20, rotacijama na 1,2 i kočenjem na kraju postavljenim na True. Zbog toga robot ide naprijed za oko 15 cm kako bi izbjegao lažno skretanje ulijevo.
  10. Blok prekidača u načinu rada Sensor Color Measure Color Mode provjerava koja je boja ispred robota. Ako nema boje (tj. Nema objekta), tada program ide do kraja petlje. Ako je boja crvena, izvršavaju se blokovi 11, 12 i 13. Ako je boja smeđa, program ide u Blok 14 ispod.
  11. Pomicanje upravljačkog bloka u isključenom načinu rada za zaustavljanje motora.
  12. Zvučni blok svira fanfare.
  13. Blok petlje prekida izlazi iz petlje.
  14. Pomicanje upravljačkog bloka u isključenom načinu rada za zaustavljanje motora.
  15. Blok prekidača u načinu ultrazvučnog senzora za usporedbu udaljenosti u inčima provjerava ima li objekata dalje od 20 cm (8 inča). Ako je više od 8 inča, tada se izvršavaju Blokovi 16 i 17, inače program ide na Blok 18 ispod.
  16. Zvučni blok tjera robota da kaže "Dobro".
  17. Blok upravljača s pomakom s postavljenim upravljačem na -55, snagom na -20, okretajima na 1,1 i Kočenjem na kraju postavljenim na True. Zbog toga robot skreće desno.
  18. Zvučni blok tjera robota da kaže "Uh-oh".
  19. Blok spremnika za premještanje s Power Left postavljenim na -20, Power Right postavljenim na -20, Rotations postavljenim na 1, a Brake at End na True. To čini robota unatrag oko 12,5 cm (5 inča) kako bi napravio prostor za okretanje.
  20. Blok spremnika za premještanje s Power Left postavljenim na -20, Power Right postavljenim na 20, Rotate postavljenim na 1,14, a Brake at End na True. Zbog toga se robot okreće.
  21. Na izlazu iz petlje nalazi se programski blok Stop.

Korak 9: Izgradite labirint

IZGRADITE LABRIKU
IZGRADITE LABRIKU
IZGRADITE LABRIKU
IZGRADITE LABRIKU
IZGRADITE LABRIKU
IZGRADITE LABRIKU

Dva kartona od valovitog kartona trebala bi biti dovoljna za labirint. Napravio sam zidove labirinta visine 5 inča (12,5 cm), ali 4 inča (10 cm) bi trebali djelovati jednako dobro ako vam nedostaje valovitog kartona.

Prvo sam izrezao zidove kartona, 10 inča (25 cm) od dna. Zatim sam izrezao zidove 5 centimetara od dna. Time se dobiva nekoliko 5-inčnih zidova. Također sam rezao oko dna kartona, ostavljajući oko 1 inč (2,5 cm) pričvršćen na zidove radi stabilnosti.

Različiti komadi mogu se rezati i lijepiti ili lijepiti ljepljivom trakom gdje god je to potrebno za oblikovanje labirinta. Između zidova na bilo kojoj stazi sa slijepom ulicom trebao bi biti razmak od 30 cm (12 inča). Ova udaljenost potrebna je da bi se robot okrenuo.

Neki od uglova labirinta možda će morati biti pojačani. Također, neke ravne zidove treba čuvati od savijanja ako uključuju poravnati kartonski ugao. Male komade tankog kartona treba zalijepiti na dno na tim mjestima, kao što je prikazano.

Izlaz ima crvenu barijeru koja se sastoji od polovine crvene omotnice s čestitkom i podloge od 2 komada tankog kartona, kako je prikazano.

Jedan je upozorenje da labirint ne smije biti velik. Ako su zavoji robota pod malim kutom od odgovarajućeg, odstupanja se zbrajaju nakon nekoliko okreta. Na primjer, ako je skretanje ulijevo za 3 stupnja isključeno, tada će se nakon 5 okreta ulijevo robot isključiti za 15 stupnjeva. Veliki labirint imao bi više zavoja i duži put od malog, a robot bi mogao trčati u zidove. Morao sam se nekoliko puta petljati s postavkama rotacije zavoja kako bih uspio proći čak i kroz mali labirint koji sam napravio.

BUDUĆA POBOLJŠANJA

Očigledan daljnji projekt je omogućiti robotu da tijekom navigacije odredi izravnu putanju kroz labirint, a zatim odmah vozi tim izravnim putem (izbjegavajući slijepe ulice).

Ovo je mnogo složenije od sadašnjeg projekta. Robot mora zapamtiti put koji je prešao, ukloniti slijepe ulice, pohraniti novi put, a zatim slijediti novi put. U bliskoj budućnosti planiram raditi na ovom projektu. Očekujem da je to moguće postići s LEGO Mindstorms EV3 pomoću blokova operacija nizova i nekih blokova povezanih s matematikom.

ZAKLJUČNA NAPOMENA

Ovo je bio zabavan projekt. Nadam se da će vam i to biti zanimljivo.

Preporučeni: