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, Novembar
Anonim
Image
Image
Baza robota
Baza robota

Ovo je jednostavan, autonomni robot dizajniran za vožnju kroz labirint do izlaza. Napravljen je pomoću LEGO Mindstorms EV3. EV3 softver radi na računaru i generira program koji se zatim preuzima na mikrokontroler pod nazivom EV3 Brick. Metoda programiranja je zasnovana na ikonama i na visokom nivou. Vrlo je jednostavan i svestran.

DIJELOVI

  1. Komplet LEGO Mindstorms EV3
  2. LEGO ultrazvučni senzor M3 Mindstorms EV3. Nije uključeno u komplet EV3.
  3. Valoviti karton za labirint. Dva kartona bi trebala biti dovoljna.
  4. Mali komad tankog kartona koji pomaže u stabilizaciji nekih uglova i zidova.
  5. Ljepilo i traka za povezivanje kartonskih komada.
  6. Crvena koverta s čestitkom za identifikaciju izlaza iz labirinta.

ALATI

  1. Pomoćni nož za rezanje kartona.
  2. Čelično ravnalo koje pomaže procesu rezanja.

METODA RJEŠAVANJA MAZIRANJA

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

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

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

Jedno upozorenje je da bi metoda mogla propasti ako labirint ima petlju. Ovisno o položaju petlje, robot bi se mogao stalno kretati oko i oko petlje. Moguće rješenje ovog problema bilo bi da se robot prebaci na pravilo praćenja zidova s desne strane ako shvati da ide u petlju. Ovo poboljšanje nisam uključio u svoj projekat.

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 cigli mogle su biti vezane tratinčicom, ali nisam htio kupiti drugu ciglu, pa sam koristio 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, koristeći prikazane dijelove. Baza robota prikazana je naglavačke. 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 su za vrh baze robota, senzor boje i kablove, 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 cigle 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

Cables
Cables

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

  • Priključak B: lijevi veliki motor.
  • Priključak C: veliki desni motor.
  • Port 2: ultrazvučni senzor.
  • Port 3: senzor boje.
  • Port 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. Sač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 za oko 15 inča (6 inča) kako biste izbjegli lažno skretanje ulijevo. Razlog je taj što bi nakon okretanja robota senzor vidio dugačak prostor iz 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 šta 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 ispred), 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 desno, recite "Uh-oh", napravite sigurnosnu kopiju oko 12 inča (5 inča) i okrenite se. Vratite se na korak 2.

Korak 7: Programirajte

Program
Program

LEGO Mindstorms EV3 ima vrlo prikladnu metodu programiranja zasnovanu na ikonama. Blokovi su prikazani pri dnu ekrana na računaru i mogu se prevući i otpustiti u prozor za programiranje za izradu programa. Snimak ekrana prikazuje program za ovaj projekat. 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 da razvijete program i/ili ga promijenite prema svojim potrebama. Kao i uvijek, dobra je ideja povremeno spremati program prilikom razvoja.

EV3 Brick se može povezati sa računarom putem USB kabla, Wi-Fi ili Bluetooth veze. Kada je povezan i uključen, to je naznačeno u malom prozoru u donjem desnom kutu prozora EV3 na računaru. “EV3” sa krajnje desne strane postaje crveno. Kad 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 povučete druge blokove unutra. 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 treba povećati gotovo do desne ivice programskog platna prije nego počnete umetati blokove. Nakon toga se može smanjiti.
  5. Prvi blok unutar petlje je pomični blok upravljača s upravljanjem postavljenim na nulu i snagom na 20. Ovo pokreće motore koji rade ravno naprijed pri maloj brzini. Veća brzina dovela bi do toga da se robot previše udalji ako nastavi napred dok govori u narednim koracima.
  6. Blok prekidača u režimu blizine 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, inače program prelazi na blok 10 ispod.
  7. Zvučni blok navodi robota da kaže "Lijevo".
  8. Blok za premještanje 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 lijevo.
  9. Blok za pomicanje s upravljačem postavljenim na nulu, snagom na 20, rotacijama na 1,2 i kočenjem na kraju postavljenim na True. Zbog toga se robot kreće naprijed oko 15 cm kako bi izbjegao lažno skretanje ulijevo.
  10. Blok prekidača u senzoru boja Mjeri način rada boje provjerava koja je boja ispred robota. Ako nema boje (tj. Nema objekta), program ide do kraja petlje. Ako je boja crvena, tada se izvršavaju blokovi 11, 12 i 13. Ako je boja smeđa, program ide u Blok 14 ispod.
  11. Pomjerite upravljački blok u isključenom načinu rada kako biste zaustavili motore.
  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 ultrazvučnom senzoru Režim 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 za premještanje s upravljačem postavljenim 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 navodi robota da kaže "Uh-oh".
  19. Blok rezervoara za premještanje s Power Left postavljenim na -20, Power Right postavljenim na -20, Rotations postavljenim na 1, a Brake at End na True. Ovo čini robota unatrag oko 12,5 cm (5 inča) kako bi napravio prostor za okretanje.
  20. Blok rezervoara za premještanje s Power Left postavljenim na -20, Power Right postavljenim na 20, Rotacijama na 1,14 i Brake at End na True. Zbog toga se robot okreće.
  21. Na izlazu iz petlje nalazi se blok programa Stop.

Korak 9: IZGRADITE LABORITO

IZGRADI LABORITO
IZGRADI LABORITO
IZGRADI LABORITO
IZGRADI LABORITO
IZGRADITE LABORITO
IZGRADITE LABORITO

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 raditi jednako dobro ako vam nedostaje valovitog kartona.

Prvo sam izrezao zidove kartona, 10 inča (25 cm) od dna. Zatim sam izrezao zidove 5 inča od dna. Ovo pruža nekoliko zidova od 5 inča. 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 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 je potrebna 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 za dno na tim mjestima, kao što je prikazano.

Izlaz ima crvenu barijeru koja se sastoji od pola koverte s crvenom čestitkom i podloge od 2 komada tankog kartona, kako je prikazano.

Jedno upozorenje je da labirint ne bi trebao biti velik. Ako su zavoji robota pod malim kutom od odgovarajućeg, odstupanja se povećavaju nakon nekoliko okreta. Na primjer, ako je skretanje ulijevo za 3 stepena isključeno, tada će se nakon 5 skretanja ulijevo robot isključiti za 15 stepeni. Veliki labirint imao bi više zavoja i duži put od malog, a robot bi mogao naletjeti na zidove. Morao sam 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 nastavak projekta je učiniti robota sposobnim odrediti direktnu putanju kroz labirint tijekom navigacije, a zatim voziti ovom direktnom stazom (izbjegavajući slijepe ulice) odmah nakon toga.

Ovo je mnogo složenije od trenutnog projekta. Robot mora zapamtiti put koji je prešao, ukloniti slijepe ulice, pohraniti novi put, a zatim slijediti novi put. Planiram u bliskoj budućnosti 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 projekat. Nadam se da će vam i to biti zanimljivo.

Preporučuje se: