Kazalo:

LEGO Robot vozi skozi labirint: 9 korakov
LEGO Robot vozi skozi labirint: 9 korakov

Video: LEGO Robot vozi skozi labirint: 9 korakov

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

To je preprost, avtonomen robot, zasnovan za vožnjo skozi labirint do izhoda. Zgrajen je z uporabo LEGO Mindstorms EV3. Programska oprema EV3 deluje v računalniku in ustvari program, ki se nato prenese v mikrokrmilnik, imenovan EV3 Brick. Način programiranja temelji na ikonah in je na visoki ravni. Je zelo enostaven in vsestranski.

DELI

  1. Komplet LEGO Mindstorms EV3
  2. LEGO ultrazvočni senzor Mindstorms EV3. Ni vključen v komplet EV3.
  3. Valovit karton za labirint. Zadostujeta dve škatli.
  4. Majhen kos tankega kartona za stabilizacijo nekaterih vogalov in sten.
  5. Lepilo in trak za povezovanje kartonskih kosov skupaj.
  6. Rdeča ovojnica z voščilnico za prepoznavanje izhoda iz labirinta.

ORODJA

  1. Nož za rezanje kartona.
  2. Jekleno ravnilo za pomoč pri rezanju.

METODA REŠEVANJA LABORITEV

Obstaja več načinov krmarjenja po labirintu. Če jih želite preučiti, so zelo dobro opisani v naslednjem članku Wikipedije:

Izbral sem pravilo levega stenskega sledilca. Ideja je, da bo robot obdržal steno na levi strani, tako da bo sprejel naslednje odločitve, ko gre skozi labirint:

  1. Če je mogoče zaviti levo, to storite.
  2. V nasprotnem primeru pojdite naravnost, če je mogoče.
  3. Če ne more levo ali naravnost, po možnosti zavijte desno.
  4. Če nič od naštetega ni mogoče, mora biti to slepa ulica. Obrni se.

Eno opozorilo je, da lahko metoda ne uspe, če ima labirint zanko. Odvisno od namestitve zanke bi lahko robot še naprej hodil okoli zanke. Možna rešitev za to težavo bi bila, če bi robot prešel na pravilo sledilnika desne stene, če bi spoznal, da gre v zanko. Te izboljšave nisem vključil v svoj projekt.

KORAKI ZA ZGRADBO ROBOTA

Čeprav je LEGO Mindstorms EV3 zelo vsestranski, ne omogoča več kot enega od vsakega tipa senzorja, povezanega z eno opeko. Dve ali več opek bi lahko bile vezane z marjeticami, vendar nisem hotel kupiti druge opeke, zato sem uporabil naslednje senzorje (namesto treh ultrazvočnih senzorjev): infrardeči senzor, barvni senzor in ultrazvočni senzor. To je dobro uspelo. Spodnji pari fotografij prikazujeta, kako sestaviti robota. Prva fotografija vsakega para prikazuje potrebne dele, druga fotografija pa enake dele, povezane skupaj.

Korak: Podlaga robota

Baza robota
Baza robota

Prvi korak je izdelava podlage robota s pomočjo prikazanih delov. Podstavek robota je prikazan na glavo. Majhen del v obliki črke L na zadnji strani robota je opora za hrbet. Drsi, ko se robot premika. To deluje v redu. Komplet EV3 nima dela tipa valjanja.

2. korak: Vrh osnove

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

Naslednji 3 koraki so za zgornji del podnožja robota, barvni senzor in kable, ki so vsi 10 -palčni (26 cm) kabli

3. korak: Infrardeči in ultrazvočni senzorji

Infrardeči in ultrazvočni senzorji
Infrardeči in ultrazvočni senzorji
Infrardeči in ultrazvočni senzorji
Infrardeči in ultrazvočni senzorji

Nato sta infrardeči senzor (na levi strani robota) in ultrazvočni senzor (na desni). Tudi 4 zatiči za pritrditev opeke na vrh.

Infrardeči in ultrazvočni senzorji so nameščeni navpično namesto običajne vodoravne. To omogoča boljšo prepoznavo vogalov ali koncev sten.

4. korak: Kabli

Kabli
Kabli

Pritrdite opeko in priključite kable na naslednji način:

  • Vrata B: levi velik motor.
  • Vrata C: desni velik motor.
  • Vrata 2: ultrazvočni senzor.
  • Vrata 3: barvni senzor.
  • Vrata 4: infrardeči senzor.

5. korak: Zadnji korak pri izdelavi robota: dekoracija

Zadnji korak pri izdelavi robota: dekoracija
Zadnji korak pri izdelavi robota: dekoracija
Zadnji korak pri izdelavi robota: dekoracija
Zadnji korak pri izdelavi robota: dekoracija
Zadnji korak pri izdelavi robota: dekoracija
Zadnji korak pri izdelavi robota: dekoracija

Krila in plavuti so samo za dekoracijo.

6. korak: psevdokoda za program

  1. Počakajte 3 sekunde in recite »Pojdi«.
  2. Zaženite robota, ki se premika naravnost.
  3. Če je mogoče zaviti levo (tj. Če infrardeči senzor ne zazna predmeta v bližini), izgovorite »Levo« in pojdite levo.
  4. Pojdite približno 15 cm naprej, da se izognete napačnemu zavoju v levo. Razlog je v tem, da bi senzor po obračanju robota videl dolg prostor, iz katerega je pravkar prišel, in robot bi mislil, da bi moral zaviti levo, kar ni primerno. Vrnite se na korak 2.
  5. Če ni mogoče zaviti levo, preverite, kaj barvni senzor vidi pred robotom.
  6. Če ni barve (torej ni predmeta), se vrnite na korak 2.
  7. Če je barva rdeča, je to izhod. Ustavite robota, igrajte fanfare in ustavite program.
  8. Če je barva rjava (tj. Rjavi karton naprej), ustavite robota.

    1. Če je mogoče zaviti desno (tj. Če ultrazvočni senzor ne zazna predmeta v bližini), izgovorite »Desno« in pojdite desno. Vrnite se na korak 2.
    2. Če ni mogoče zaviti desno, izgovorite »Uh-oh«, naredite varnostno kopijo približno 5 palcev (12,5 cm) in se obrnite. Vrnite se na korak 2.

7. korak: Program

Program
Program

LEGO Mindstorms EV3 ima zelo priročen način programiranja, ki temelji na ikonah. Bloki so prikazani na dnu zaslona v računalniku in jih lahko povlečete in spustite v okno za programiranje, da sestavite program. Posnetek zaslona prikazuje program za ta projekt. Bloki so opisani v naslednjem koraku.

Nisem mogel ugotoviti, kako nastaviti prenos programa za vas, zato so bloki opisani v naslednjem koraku. Vsak blok ima možnosti in parametre. Je zelo enostaven in vsestranski. Ne bi vam smelo vzeti veliko časa, da program razvijete in/ali spremenite tako, da ustreza vašim potrebam. Kot vedno je dobro, da program ob njegovem razvoju občasno shranite.

EV3 Brick je lahko povezan z računalnikom prek kabla USB, Wi-Fi ali Bluetooth. Ko je povezan in vklopljen, je to prikazano v majhnem oknu v spodnjem desnem kotu okna EV3 v računalniku. "EV3" na desni strani postane rdeč. Ko je ta zaslon nastavljen na Pogled vrat, v realnem času prikaže, kaj zaznava vsak senzor. To je uporabno za eksperimentiranje.

Pri izdelavi tega programa predlagam, da delate od leve proti desni in od zgoraj navzdol ter povečate zanke in stikala, preden povlečete druge bloke. Naletel sem na grde težave, ko sem poskušal vstaviti dodatne bloke v notranjost, preden sem jih razširil.

8. korak: Programski bloki

  1. Začenši na levi strani programa je začetni blok samodejno prisoten, ko se program razvija.
  2. Naslednji je blok čakanja, ki nam daje 3 sekunde, da po zagonu programa postavimo robota na vhod v labirint.
  3. Zvočni blok povzroči, da robot reče »Pojdi«.
  4. Blok zank vsebuje večino programa. Zaslon je treba pomanjšati 4 ali 5 -krat, ta blok zanke pa povečati skoraj do desnega roba programskega platna, preden začnete vstavljati bloke. Nato ga lahko zmanjšamo.
  5. Prvi blok znotraj zanke je premični krmilni blok z nastavljenim krmiljenjem na nič in močjo na 20. To zažene motorje, ki tečejo naravnost naprej pri nizki hitrosti. Večja hitrost bi povzročila, da bi se robot premaknil predaleč, če bi nadaljeval naprej, medtem ko bi govoril v naslednjih korakih.
  6. Blok stikala v načinu bližine infrardečega senzorja preveri, ali obstaja kakšen predmet, ki je daljši od vrednosti 30. To je približno 23 centimetrov za rjavi karton. Če je vrednost večja od 30, se izvedejo bloki 7, 8 in 9, sicer gre program v blok 10 spodaj.
  7. Zvočni blok povzroči, da robot reče "Levo".
  8. Premaknite blok krmiljenja z nastavljenim krmiljenjem na -45, močjo nastavljeno na 20, vrtenjem na 1,26 in zaviranjem na koncu nastavljeno na True. Zaradi tega robot zavije levo.
  9. Premaknite blok krmiljenja z nastavljenim krmiljenjem na nič, močjo nastavljeno na 20, vrtenjem na 1,2 in zavoro na koncu nastavljeno na True. Tako se robot premakne za približno 15 cm naprej, da se izogne lažnemu zavoju v levo.
  10. Blok stikala v barvnem senzorju meri barvni način in preveri, kakšne barve je pred robotom. Če ni barve (torej ni predmeta), gre program na konec zanke. Če je barva rdeča, se izvedejo bloki 11, 12 in 13. Če je barva rjava, gre program v blok 14 spodaj.
  11. Premaknite krmilni blok v izklopljen način, da ustavite motorje.
  12. Zvočni blok igra fanfare.
  13. Blok prekinitve zanke zapusti zanko.
  14. Premaknite krmilni blok v izklopljenem načinu, da ustavite motorje.
  15. Blok stikal v načinu ultrazvočnega senzorja za primerjavo razdalj v palcih preveri, ali je kakšen predmet daljši od 20 cm (8 palcev). Če je več kot 8 palcev, se izvedeta bloka 16 in 17, sicer gre program v blok 18 spodaj.
  16. Zvočni blok povzroči, da robot reče "Prav".
  17. Premakni blok krmiljenja s krmiljenjem na -55, močjo nastavljeno na -20, vrtenjem na 1,1 in zavoro na koncu nastavljeno na True. Zaradi tega robot zavije desno.
  18. Zvočni blok povzroči, da robot reče "Uh-oh".
  19. Blok rezervoarja za premikanje z močjo Levo nastavljeno na -20, moč desno na -20, vrtenje nastavljeno na 1 in zavora na koncu nastavljena na True. Zaradi tega se robot vrne približno 12,5 cm (5 palcev) in tako naredi prostor za obračanje.
  20. Blok rezervoarja za premikanje z močjo Levo nastavljeno na -20, moč desno na 20, vrtenje nastavljeno na 1,14 in zavora na koncu nastavljena na True. Zaradi tega se robot obrne.
  21. Na izhodu iz zanke je blok programa Stop.

9. korak: ZGRADITE LABORITET

ZGRADI LABORITET
ZGRADI LABORITET
ZGRADI LABORITET
ZGRADI LABORITET
ZGRADI LABORITET
ZGRADI LABORITET

Za labirint bi morali zadostovati dve škatli iz valovitega kartona. Stene labirinta sem naredil visoke 5,5 cm (12,5 cm), vendar bi morale 4 cm (10 cm) delovati prav tako, če vam primanjkuje valovitega kartona.

Najprej sem prerezal stene kartonov, 10 cm (25 cm) od dna. Nato sem prerezal stene 5 centimetrov od dna. To zagotavlja več 5-palčnih sten. Prav tako sem prerezal spodnji del škatel, pri čemer sem za stabilnost pritrdil približno 1 cm (2,5 cm) na stene.

Različne kose je mogoče razrezati in lepiti ali lepiti, kjer koli je potrebno za oblikovanje labirinta. Med stenami v slepi ulici mora biti 30 cm (12 palcev) prostora. Ta razdalja je potrebna, da se robot obrne.

Nekatere vogale labirinta bo morda treba okrepiti. Nekatere ravne stene je treba upogniti, če vključujejo poravnan vogal iz kartona. Majhne koščke tankega kartona je treba na ta mesta prilepiti na dno, kot je prikazano.

Izhod ima rdečo pregrado, sestavljeno iz polovice rdeče ovojnice z voščilnico in podlage iz dveh kosov tankega kartona, kot je prikazano.

Eno opozorilo je, da labirint ne sme biti velik. Če so zavoji robota pod rahlim kotom od pravega, se odstopanja povečajo po nekaj zavojih. Na primer, če je zavoj levo 3 stopinje izklopljen, potem po 5 zavojih levo robot ugasne 15 stopinj. Velik labirint bi imel več zavojev in daljšo pot kot majhen, robot pa bi lahko stekel v stene. Večkrat sem se moral poigravati z nastavitvami vrtenja zavojev, da sem uspel skozi celo majhen labirint, ki sem ga naredil.

PRIHODNJA IZBOLJŠANJA

Očiten nadaljnji projekt je omogočiti robotu, da med navigacijo določi neposredno pot skozi labirint, nato pa takoj po tej poti (izogibanje slepih ulic).

To je veliko bolj zapleteno kot trenutni projekt. Robot si mora zapomniti prehojeno pot, odstraniti slepe ulice, shraniti novo pot in nato slediti novi poti. V bližnji prihodnosti nameravam delati na tem projektu. Pričakujem, da je to mogoče doseči z LEGO Mindstorms EV3 z uporabo blokov operacij matrike in nekaterih blokov, povezanih z matematiko.

Sklepna opomba

To je bil zabaven projekt. Upam, da se vam bo zdelo tudi zanimivo.

Priporočena: