Sisukord:

LEGO robot sõidab labürindis: 9 sammu
LEGO robot sõidab labürindis: 9 sammu

Video: LEGO robot sõidab labürindis: 9 sammu

Video: LEGO robot sõidab labürindis: 9 sammu
Video: Путешествие на японском скоростном поезде Hello Kitty Shinkansen | Осака - Хиросима 2024, November
Anonim
Image
Image
Roboti alus
Roboti alus

See on lihtne autonoomne robot, mis on ette nähtud labürindist väljapääsuni sõitmiseks. See on ehitatud LEGO Mindstorms EV3 abil. Tarkvara EV3 töötab arvutis ja genereerib programmi, mis seejärel laaditakse alla mikrokontrollerile nimega EV3 Brick. Programmeerimismeetod on ikoonipõhine ja kõrgetasemeline. See on väga lihtne ja mitmekülgne.

OSAD

  1. LEGO Mindstorms EV3 komplekt
  2. LEGO ultraheliandur Mindstorms EV3. See ei kuulu EV3 komplekti.
  3. Lainepapp labürindi jaoks. Kahest karbist peaks piisama.
  4. Väike tükk õhukest pappi, mis aitab stabiliseerida mõningaid nurki ja seinu.
  5. Liim ja lint papitükkide ühendamiseks.
  6. Punane õnnitluskaardi ümbrik labürindi väljapääsu tuvastamiseks.

TÖÖRIISTAD

  1. Kasulik nuga papi lõikamiseks.
  2. Terasest joonlaud lõikamisprotsessi hõlbustamiseks.

MAZE-LAHENDAMISE MEETOD

Labürindis navigeerimiseks on mitmeid meetodeid. Kui olete huvitatud nende uurimisest, kirjeldatakse neid väga hästi järgmises Vikipeedia artiklis:

Valisin vasakpoolse seina jälgija reegli. Idee on selles, et robot hoiab seina vasakul küljel, tehes labürindi läbimisel järgmised otsused:

  1. Kui on võimalik vasakule pöörata, tehke seda.
  2. Vastasel juhul minge võimaluse korral otse.
  3. Kui see ei saa minna vasakule või otse, pöörake võimaluse korral paremale.
  4. Kui ükski ülaltoodutest pole võimalik, peab see olema ummiktee. Pööra ümber.

Üks hoiatus on see, et meetod võib ebaõnnestuda, kui labürindis on silmus. Sõltuvalt silmuse paigutusest võib robot silmuse ümber ringi liikuda. Selle probleemi võimalik lahendus oleks see, kui robot lülitaks parema käe seinajälgimisreeglile, kui ta mõistaks, et see läheb silmusena. Ma ei lisanud seda täpsustust oma projekti.

ROBOTI EHITAMISE SAMMUD

Kuigi LEGO Mindstorms EV3 on väga mitmekülgne, võimaldab see ühe tellisega ühendada mitte rohkem kui ühe igat tüüpi andurit. Kaks või enam tellist võiks olla aheldatud, kuid ma ei tahtnud teist tellist osta ja seetõttu kasutasin järgmisi andureid (kolme ultrahelisensori asemel): infrapuna-, värvisensorit ja ultraheliandurit. See toimis hästi. Allpool olevad fotopaarid näitavad, kuidas robotit ehitada. Iga paari esimene foto näitab vajalikke osi ja teine foto samu osi, mis on omavahel ühendatud.

Samm: roboti alus

Roboti alus
Roboti alus

Esimene samm on roboti aluse ehitamine, kasutades näidatud osi. Robotibaas on näidatud tagurpidi. Väike L-kujuline osa roboti tagaosas on toeks seljale. See libiseb, kui robot liigub. See töötab hästi. EV3 komplektis ei ole veerepallitüüpi osa.

2. samm: aluse ülaosa

Aluse ülaosa
Aluse ülaosa
Aluse ülaosa
Aluse ülaosa
Aluse ülaosa
Aluse ülaosa

Järgmised 3 sammu on mõeldud roboti aluse ülaosa, värvisensori ja kaablite jaoks, mis on kõik 10 -tollised (26 cm) kaablid

Samm: infrapuna- ja ultraheliandurid

Infrapuna- ja ultraheliandurid
Infrapuna- ja ultraheliandurid
Infrapuna- ja ultraheliandurid
Infrapuna- ja ultraheliandurid

Järgmisena on infrapunaandur (roboti vasakul küljel) ja ultraheliandur (paremal). Samuti 4 tihvti tellise kinnitamiseks peal.

Infrapuna- ja ultrahelisensorid asuvad tavalise horisontaali asemel vertikaalselt. See võimaldab paremini tuvastada seinte nurki või otsi.

Samm: kaablid

Kaablid
Kaablid

Kinnitage tellis ja ühendage kaablid järgmiselt:

  • Port B: vasakpoolne suur mootor.
  • Port C: parem suur mootor.
  • Port 2: ultraheli andur.
  • Port 3: värvisensor.
  • Port 4: infrapunaandur.

Samm: viimane samm roboti ehitamisel: kaunistamine

Roboti ehitamise viimane etapp: kaunistamine
Roboti ehitamise viimane etapp: kaunistamine
Roboti ehitamise viimane etapp: kaunistamine
Roboti ehitamise viimane etapp: kaunistamine
Roboti ehitamise viimane etapp: kaunistamine
Roboti ehitamise viimane etapp: kaunistamine

Tiivad ja uimed on ainult kaunistamiseks.

6. samm: programmi pseudokood

  1. Oodake 3 sekundit ja öelge "Mine".
  2. Käivitage robot otse edasi liikuma.
  3. Kui on võimalik vasakule pöörata (st kui infrapunaandur ei tunne lähedal asuvat objekti), öelge „Vasak” ja minge vasakule.
  4. Vale vasakpöörde vältimiseks liikuge umbes 6 tolli (15 cm) ette. Põhjus on selles, et pärast roboti pööramist näeks andur pikka ruumi, kust ta äsja tuli, ja robot arvaks, et peaks vasakule pöörama, mis pole õige. Minge tagasi 2. sammu juurde.
  5. Kui vasakule pöörata ei ole võimalik, kontrollige, mida värviandur roboti ees näeb.
  6. Kui värvi pole (st objekti pole), minge tagasi 2. sammu juurde.
  7. Kui värv on punane, on see väljapääs. Peatage robot, mängige fanfaari ja peatage programm.
  8. Kui värv on pruun (st pruun papp ees), peatage robot.

    1. Kui on võimalik paremale pöörata (st kui ultrahelisensor ei tuvasta lähedal asuvat objekti), öelge „Õige” ja minge paremale. Minge tagasi 2. sammu juurde.
    2. Kui paremale pöörata ei ole võimalik, öelge „Uh-oh”, varundage umbes 12,5 cm (5 tolli) ja pöörake ümber. Minge tagasi 2. sammu juurde.

Samm: programm

Programm
Programm

LEGO Mindstorms EV3-l on väga mugav ikoonipõhine programmeerimismeetod. Plokid kuvatakse arvuti kuvaekraani allosas ja neid saab programmi loomiseks lohistada programmeerimisaknasse. Ekraanipilt näitab selle projekti programmi. Plokke kirjeldatakse järgmises etapis.

Ma ei saanud aru, kuidas seadistada teile programmi allalaadimine, ja seega kirjeldatakse plokke järgmises etapis. Igal plokil on valikud ja parameetrid. See on väga lihtne ja mitmekülgne. Programmi väljatöötamine ja/või selle muutmine vastavalt teie vajadustele ei tohiks võtta palju aega. Nagu alati, on hea mõte programmi väljatöötamisel perioodiliselt salvestada.

EV3 Brick võib arvutiga ühendada kas USB-kaabli, WiFi või Bluetoothi kaudu. Kui see on ühendatud ja sisse lülitatud, kuvatakse see arvuti EV3 akna paremas alanurgas väikeses aknas. Parempoolses servas olev “EV3” muutub punaseks. Kui see ekraan on seatud portvaatele, näitab see reaalajas, mida iga andur tuvastab. See on kasulik katsetamiseks.

Selle programmi koostamisel soovitaksin töötada vasakult paremale ja ülevalt alla ning enne teiste plokkide lohistamist suurendada silmuseid ja lülitusplokke. Mul tekkisid räpased probleemid, püüdes enne suurendamist täiendavaid plokke sisestada.

8. samm: programmiplokid

  1. Alustades programmi vasakust servast, on programmi käivitamisel käivitusplokk automaatselt olemas.
  2. Järgmine on ootablokk, mis annab meile pärast programmi käivitamist 3 sekundit, et robot paigutada labürindi sissepääsu juurde.
  3. Heliplokk paneb roboti ütlema „Mine”.
  4. Loop Block sisaldab enamikku programmist. Enne plokkide sisestamise alustamist tuleks ekraani 4 või 5 korda välja suumida ja seda silmusplokki suurendada peaaegu programmeerimislõuendi parema servani. Pärast saab seda väiksemaks muuta.
  5. Esimene silmus sees olev plokk on käigurooliplokk, mille rool on seatud nulli ja võimsus on seatud 20. See käivitab mootorid otse madala kiirusega. Kiirem kiirus paneks roboti liigutama liiga kaugele, kui ta järgmiste sammude ajal edasi räägib.
  6. Lülitusplokk infrapunaanduri lähedusrežiimis kontrollib, kas objekti on kaugemal kui väärtus 30. See vastab pruuni papi jaoks umbes 9 tollile (23 cm). Kui väärtus on suurem kui 30, täidetakse plokid 7, 8 ja 9, vastasel juhul läheb programm lahtrisse 10 allpool.
  7. Heliplokk paneb roboti ütlema „Vasak”.
  8. A Liiguta juhtimisplokk, mille rool on seatud -45, võimsus on 20, pöörete arv on 1,26 ja piduri lõpus on valitud tõene. See sunnib robot vasakule pöörama.
  9. A Liiguta juhtimisplokk, mille rool on seatud nulli, võimsus on seatud 20, pöörete arv on 1,2 ja pidur lõpus on seatud väärtusele Tõene. See paneb roboti edasi liikuma umbes 6 tolli (15 cm) ettepoole, et vältida vale vasakpööret.
  10. Lülitusplokk värvisensori mõõtmisrežiimis kontrollib, milline värv on robotil ees. Kui värvi pole (st objekti pole), läheb programm tsükli lõppu. Kui värv on punane, täidetakse plokid 11, 12 ja 13. Kui värv on pruun, läheb programm allolevasse plokki 14.
  11. A Mootorite peatamiseks liigutage rooliplokki väljalülitatud režiimis.
  12. Heliplokk mängib fanfaari.
  13. Silmuskatkestuse plokk väljub silmusest.
  14. A Mootorite peatamiseks liigutage rooliplokki väljalülitatud režiimis.
  15. Lülitusplokk ultrahelianduri võrdluskauguse režiimis kontrollib, kas kaugemal kui 20 tolli (8 tolli) on objekte. Kui see on üle 8 tolli, täidetakse plokid 16 ja 17, vastasel juhul läheb programm allolevasse plokki 18.
  16. Heliplokk paneb roboti ütlema „Õige”.
  17. A Liiguta juhtimisplokk, mille rool on seatud -55, võimsus on -20, pöörete arv on seatud 1,1 ja pidur lõpus on seatud väärtusele Tõene. See paneb roboti paremale pöörama.
  18. Heliplokk paneb roboti ütlema „Uh-oh”.
  19. Liigutuspaagi plokk, mille vasakpoolne võimsus on seatud -20, toide paremal -20, pöörete arv on 1 ja piduri lõpus on valitud tõene. See muudab roboti umbes 12,5 cm (5 tolli) tagasi, et ruumi ümber pöörata.
  20. Liigutuspaagi plokk, mille võimsus vasakule on seatud -20, toide paremal on 20, pöörete arv on 1,14 ja piduri lõpus on valitud tõene. See paneb roboti ümber pöörama.
  21. Silmuse väljumisel on programmi peatamise plokk.

9. samm: EHITAGE MAZE

EHITADA MAZE
EHITADA MAZE
EHITADA MAZE
EHITADA MAZE
EHITADA MAZE
EHITADA MAZE

Labürindist peaks piisama kahest lainepapist karbist. Tegin labürindi seinad 5 tolli (12,5 cm) kõrguseks, kuid 10 tolli (4 tolli) peaks sama hästi toimima, kui lainepapist napib.

Esiteks lõikasin karbi seinte ümber, 25 cm (10 tolli) alt. Siis lõikasin seinte ümber 5 tolli alt. See annab mitu 5-tollist seina. Samuti lõikasin ümber karpide põhja, jättes stabiilsuse tagamiseks umbes 1 tolli (2,5 cm) seinte külge.

Erinevaid tükke saab lõigata ja liimida või kleepida kõikjal, kus see labürindi moodustamiseks vajalik on. Igas ummikteega rajal peaks seinte vahel olema 30 cm (12 tolli) ruumi. Seda vahemaad on vaja, et robot saaks ümber pöörata.

Mõned labürindi nurgad võivad vajada tugevdamist. Samuti tuleb mõned sirged seinad painutada, kui need sisaldavad sirgendatud pappnurka. Nendes kohtades tuleks põhjale liimida väikesed õhukese papi tükid, nagu näidatud.

Väljapääsul on punane tõke, mis koosneb poolest punasest õnnitluskaardi ümbrikust ja alusest, mis on valmistatud kahest õhukesest papist, nagu näidatud.

Üks hoiatus on see, et labürint ei tohiks olla suur. Kui roboti pöörded on õigest nurgast veidi väiksemad, lisanduvad lahknevused mõne pöörde järel. Näiteks kui vasakpööre on 3 kraadi väljas, siis pärast 5 vasakpööret läheb robot 15 kraadi maha. Suurel labürindil oleks rohkem pöördeid ja pikem tee kui väikesel ning robot võiks seintesse joosta. Pidin mitu korda pöörete pöörete seadistustega nokitsema, et isegi minu tehtud väikesest labürindist edukalt läbi sõita.

TULEVASED TÄIENDUSED

Ilmselge jätkuprojekt on panna robot suutma navigeerimisel otsida labürindist otseteed ja seejärel sõita selle otseteega (vältides ummikseisu) kohe pärast seda.

See on palju keerulisem kui praegune projekt. Robot peab mäletama läbitud rada, eemaldama tupikteed, salvestama uue tee ja seejärel järgima uut rada. Plaanin selle projektiga lähiajal tegeleda. Ma eeldan, et seda on võimalik saavutada LEGO Mindstorms EV3 abil, kasutades massiivioperatsioone ja mõningaid matemaatikaga seotud plokke.

KOKKUVÕTTEV MÄRKUS

See oli lõbus projekt. Loodan, et ka teile tundub see huvitav.

Soovitan: