Sisällysluettelo:

LEGO -robotti ajaa sokkelon läpi: 9 vaihetta
LEGO -robotti ajaa sokkelon läpi: 9 vaihetta

Video: LEGO -robotti ajaa sokkelon läpi: 9 vaihetta

Video: LEGO -robotti ajaa sokkelon läpi: 9 vaihetta
Video: Vastaava työnjohtaja, pääsuunnittelija, arkkitehti – ja taloprojektin muut ammattilaiset 2024, Heinäkuu
Anonim
Image
Image
Robotin pohja
Robotin pohja

Tämä on yksinkertainen, itsenäinen robotti, joka on suunniteltu ajamaan labyrintin kautta uloskäynnille. Se on rakennettu LEGO Mindstorms EV3: n avulla. EV3 -ohjelmisto toimii tietokoneella ja luo ohjelman, joka ladataan sitten EV3 Brick -nimiseen mikrokontrolleriin. Ohjelmointimenetelmä on kuvakepohjainen ja korkeatasoinen. Se on erittäin helppoa ja monipuolista.

OSAT

  1. LEGO Mindstorms EV3 setti
  2. LEGO Mindstorms EV3 ultraäänianturi. Se ei sisälly EV3 -sarjaan.
  3. Aaltopahvi sokkeloon. Kahden laatikon pitäisi riittää.
  4. Pieni pala ohutta pahvia joidenkin kulmien ja seinien vakauttamiseksi.
  5. Liimaa ja teippiä pahvikappaleiden yhdistämiseen.
  6. Punainen tervehdyskortin kirjekuori sokkelon poistumisen tunnistamiseksi.

TYÖKALUT

  1. Hyödyllinen veitsi pahvin leikkaamiseen.
  2. Teräsviivain leikkausprosessin helpottamiseksi.

MAZE-RATKAISUMENETELMÄ

On olemassa useita tapoja navigoida sokkelossa. Jos olet kiinnostunut tutkimaan niitä, ne on kuvattu erittäin hyvin seuraavassa Wikipedia -artikkelissa:

Valitsin vasemman seinän seuraajan säännön. Ajatuksena on, että robotti pitää seinän vasemmalla puolella tekemällä seuraavat päätökset sokkelon läpi:

  1. Jos on mahdollista kääntyä vasemmalle, tee se.
  2. Muussa tapauksessa mene suoraan, jos mahdollista.
  3. Jos se ei voi mennä vasemmalle tai suoraan, käänny oikealle, jos mahdollista.
  4. Jos mikään edellä mainituista ei ole mahdollista, tämän on oltava umpikuja. Käänny ympäri.

Yksi varoitus on, että menetelmä voi epäonnistua, jos sokkelossa on silmukka. Silmukan sijainnista riippuen robotti voi jatkaa kiertoa silmukan ympäri ja sen ympäri. Mahdollinen ratkaisu tähän ongelmaan olisi se, että robotti siirtyisi oikeanpuoleiseen seinänseurantaan, jos se ymmärtäisi kulkevansa silmukassa. En sisällyttänyt tätä tarkennusta projektiini.

ROBOTIN RAKENTAMISEN VAIHEET

Vaikka LEGO Mindstorms EV3 on erittäin monipuolinen, se sallii enintään yhden kustakin tunnistintyypistä, jotka on liitetty yhteen tiiliin. Kaksi tai useampi tiili voisi olla ketjutettu, mutta en halunnut ostaa toista tiiliä, joten käytin seuraavia antureita (kolmen ultraäänianturin sijasta): infrapuna-anturi, värianturi ja ultraääni-anturi. Tämä toimi hyvin. Alla olevat valokuvaparit osoittavat robotin rakentamisen. Kunkin parin ensimmäinen valokuva näyttää tarvittavat osat ja toinen kuva samoja osia, jotka on kytketty yhteen.

Vaihe 1: Robotin pohja

Robotin pohja
Robotin pohja

Ensimmäinen vaihe on rakentaa robotin pohja käyttäen esitettyjä osia. Robottipohja on esitetty ylösalaisin. Pieni L-muotoinen osa robotin takana on tuki selälle. Se liukuu robotin liikkuessa. Tämä toimii hyvin. EV3-sarjassa ei ole vierityspallo-tyyppistä osaa.

Vaihe 2: Pohjan yläosa

Pohjan yläosa
Pohjan yläosa
Pohjan yläosa
Pohjan yläosa
Pohjan yläosa
Pohjan yläosa

Seuraavat kolme vaihetta koskevat robotin pohjan yläosaa, värianturia ja kaapeleita, jotka kaikki ovat 10 tuuman (26 cm) kaapeleita

Vaihe 3: Infrapuna- ja ultraääni -anturit

Infrapuna- ja ultraääni -anturit
Infrapuna- ja ultraääni -anturit
Infrapuna- ja ultraääni -anturit
Infrapuna- ja ultraääni -anturit

Seuraavaksi ovat infrapuna -anturi (robotin vasemmalla puolella) ja ultraääni -anturi (oikealla). Lisäksi 4 nastaa tiilen kiinnittämiseksi päälle.

Infrapuna- ja ultraäänianturit sijaitsevat pystysuunnassa normaalin vaakasuoran sijasta. Tämä helpottaa seinien kulmien tai päiden tunnistamista.

Vaihe 4: Kaapelit

Kaapelit
Kaapelit

Kiinnitä Brick ja liitä kaapelit seuraavasti:

  • Portti B: vasen suuri moottori.
  • Portti C: oikea suuri moottori.
  • Portti 2: ultraäänianturi.
  • Portti 3: värianturi.
  • Portti 4: infrapuna -anturi.

Vaihe 5: Viimeinen vaihe robotin rakentamisessa: koristelu

Viimeinen vaihe robotin rakentamisessa: koristelu
Viimeinen vaihe robotin rakentamisessa: koristelu
Viimeinen vaihe robotin rakentamisessa: koristelu
Viimeinen vaihe robotin rakentamisessa: koristelu
Viimeinen vaihe robotin rakentamisessa: koristelu
Viimeinen vaihe robotin rakentamisessa: koristelu

Siivet ja evät ovat vain koristeluun.

Vaihe 6: Ohjelman pseudokoodi

  1. Odota 3 sekuntia ja sano "Mene".
  2. Käynnistä robotti eteenpäin.
  3. Jos on mahdollista kääntyä vasemmalle (eli jos infrapuna -anturi ei havaitse lähellä olevaa kohdetta), sano”Vasen” ja siirry vasemmalle.
  4. Siirry eteenpäin noin 15 cm (6 tuumaa) välttääksesi väärän käännöksen vasemmalle. Syynä on se, että kun robotti on kääntynyt, anturi näkee juuri tulleen pitkän tilan ja robotin mielestä sen pitäisi kääntyä vasemmalle, mikä ei ole oikea tapa. Palaa vaiheeseen 2.
  5. Jos vasemmalle kääntyminen ei ole mahdollista, tarkista, mitä värianturi näkee robotin edessä.
  6. Jos väriä (eli objekteja) ei ole, palaa vaiheeseen 2.
  7. Jos väri on punainen, tämä on uloskäynti. Pysäytä robotti, pelaa fanfaaria ja pysäytä ohjelma.
  8. Jos väri on ruskea (eli ruskea pahvi edessä), pysäytä robotti.

    1. Jos on mahdollista kääntyä oikealle (eli jos ultraäänianturi ei havaitse lähellä olevaa esinettä), sano”Oikea” ja mene oikealle. Palaa vaiheeseen 2.
    2. Jos oikealle kääntyminen ei ole mahdollista, sano”Uh-oh”, varmuuskopioi noin 12,5 cm ja käänny ympäri. Palaa vaiheeseen 2.

Vaihe 7: Ohjelmoi

Ohjelmoida
Ohjelmoida

LEGO Mindstorms EV3: ssa on erittäin kätevä kuvakepohjainen ohjelmointimenetelmä. Lohkot näkyvät tietokoneen näytön alareunassa, ja ne voidaan vetää ja pudottaa ohjelmointi-ikkunaan ohjelman luomiseksi. Kuvakaappaus näyttää tämän projektin ohjelman. Lohkot kuvataan seuraavassa vaiheessa.

En voinut ymmärtää, miten voin asettaa ohjelman lataamisen teille, ja siksi lohkot kuvataan seuraavassa vaiheessa. Jokaisella lohkolla on vaihtoehtoja ja parametreja. Se on erittäin helppoa ja monipuolista. Ohjelman kehittäminen ja/tai sen muuttaminen tarpeidesi mukaan ei saisi viedä paljon aikaa. Kuten aina, ohjelma kannattaa tallentaa säännöllisesti sitä kehitettäessä.

EV3 Brick voidaan liittää tietokoneeseen joko USB-kaapelilla, Wi-Fi: llä tai Bluetoothilla. Kun se on kytketty ja kytketty päälle, tämä näkyy pienessä ikkunassa tietokoneen EV3-ikkunan oikeassa alakulmassa. "EV3" oikealla puolella muuttuu punaiseksi. Kun tämä näyttö on asetettu porttinäkymään, se näyttää reaaliajassa, mitä jokainen anturi havaitsee. Tästä on hyötyä kokeilussa.

Tätä ohjelmaa rakennettaessa suosittelen työskentelemään vasemmalta oikealle ja ylhäältä alas, ja suurenna silmukka- ja kytkinlohkoja ennen muiden lohkojen vetämistä sisälle. Törmäsin sotkuisiin ongelmiin yrittäessäni lisätä lisää lohkoja sisälle ennen suurentamista.

Vaihe 8: Ohjelmalohkot

  1. Ohjelman vasemmalta puolelta alkaen aloituslohko näkyy automaattisesti, kun ohjelmaa kehitetään.
  2. Seuraavaksi on odotusaika, joka antaa meille 3 sekuntia sijoittaa robotti sokkelon sisäänkäynnille ohjelman käynnistämisen jälkeen.
  3. Äänilohko saa robotin sanomaan "Mene".
  4. Loop Block sisältää suurimman osan ohjelmasta. Näyttöä on loitontettava 4 tai 5 kertaa ja tätä silmukkalohkoa on suurennettava lähes ohjelmointikankaan oikeaan reunaan ennen lohkojen lisäämistä. Sen voi pienentää jälkikäteen.
  5. Ensimmäinen silmukan sisällä oleva lohko on liikkeenohjauslohko, jossa ohjaus on nollattu ja teho on 20. Tämä käynnistää moottorit suoraan eteenpäin pienellä nopeudella. Nopeampi nopeus saisi robotin liikkumaan liian pitkälle, kun se jatkaa eteenpäin puhuessaan seuraavissa vaiheissa.
  6. Kytkinlohko infrapuna -anturin läheisyystilassa tarkistaa, onko esineitä kauempana kuin arvo 30. Tämä vastaa noin 23 senttimetriä ruskealle pahville. Jos arvo on suurempi kuin 30, lohkot 7, 8 ja 9 suoritetaan, muuten ohjelma siirtyy lohkoon 10 alla.
  7. Äänilohko saa robotin sanomaan "Vasen".
  8. A Siirrä ohjauslohkoa, kun ohjaus on asetettu -45: een, teho on 20, kierrosluku on 1,26 ja jarrutus lopussa -asetus on Tosi. Tämä saa robotin kääntymään vasemmalle.
  9. A Siirrä ohjauslohkoa, kun ohjaus on nollattu, teho asetettu 20: ään, kierrosluku on 1,2 ja jarrutus lopussa on tosi. Tämä saa robotin siirtymään eteenpäin noin 15 cm (6 tuumaa) välttääkseen väärän käännöksen vasemmalle.
  10. Kytkinlohko värianturin mittausväritilassa tarkistaa, mikä väri on robotin edessä. Jos väriä (eli objekteja) ei ole, ohjelma siirtyy silmukan loppuun. Jos väri on punainen, lohkot 11, 12 ja 13 suoritetaan. Jos väri on ruskea, ohjelma siirtyy alla olevaan lohkoon 14.
  11. A Siirrä ohjauslohkoa sammutustilassa moottorien pysäyttämiseksi.
  12. Äänilohko soittaa fanfaaria.
  13. Silmukan keskeytyslohko sulkee silmukan.
  14. A Siirrä ohjauslohkoa sammutustilassa moottorien pysäyttämiseksi.
  15. Kytkinlohko ultraääni -anturissa Vertaa etäisyys tuumaa -tilassa tarkistaa, onko mitään esineitä kauempana kuin 20 tuumaa (8 tuumaa). Jos se on yli 8 tuumaa, lohkot 16 ja 17 suoritetaan, muuten ohjelma siirtyy alla olevaan lohkoon 18.
  16. Äänilohko saa robotin sanomaan "oikein".
  17. A Siirrä ohjauslohkoa, kun ohjaus on asetettu -55: een, teho on -20, kierrosluku on 1,1 ja jarrutus lopussa on -asetus. Tämä saa robotin kääntymään oikealle.
  18. Äänilohko saa robotin sanomaan "Uh-oh".
  19. A Siirtosäiliön lohko, jossa vasen teho on asetettu -20 -asentoon, virta -oikea -asetettu -20 -asentoon, kierrosluku asetettu 1 -asentoon ja jarrutus lopussa -asetus on Tosi. Tämä saa robotin nousemaan noin 12,5 cm: n taakse, jotta se voi kääntyä.
  20. A Siirtosäiliön lohko, jossa vasen teho on -20, teho oikea -asetus on 20, kierrosluku on 1,14 ja jarrutus lopussa on tosi. Tämä saa robotin kääntymään ympäri.
  21. Silmukan ulostulossa on Stop Program Block.

Vaihe 9: RAKENNA MAZE

RAKENNA MAZE
RAKENNA MAZE
RAKENNA MAZE
RAKENNA MAZE
RAKENNA MAZE
RAKENNA MAZE

Kahden aaltopahvipakkauksen pitäisi riittää sokkeloon. Tein sokkelon seinät 5 tuumaa (12,5 cm) korkeiksi, mutta 10 tuuman (4 tuumaa) pitäisi toimia yhtä hyvin, jos sinulla on aaltopahvia.

Leikkasin ensin laatikoiden seinien ympärille, 25 tuumaa (10 tuumaa) pohjasta. Sitten leikkasin seinien ympärille 5 tuumaa pohjasta. Tämä tarjoaa useita 5 tuuman seiniä. Leikkasin myös laatikoiden pohjat ympäri, jättäen noin 2,5 cm seiniin kiinnitettynä vakauden vuoksi.

Erilaiset palaset voidaan leikata ja liimata tai teipata missä tahansa sokkelon muodostamiseksi. Kaikkien umpikujaisten polkujen seinien välissä tulee olla 30 tuuman (12 tuuman) tila. Tämä etäisyys tarvitaan robotin kääntymiseen.

Joitakin sokkelon kulmia on ehkä vahvistettava. Jotkut suorat seinät on myös pidettävä taittumattomina, jos ne sisältävät suoristetun kartonkikulman. Pieniä ohuita pahvipaloja tulee liimata pohjaan näissä paikoissa, kuten kuvassa.

Uloskäynnissä on punainen este, joka koostuu puolikkaasta punaisesta tervehdyskortin kirjekuoresta ja pohjasta, joka on valmistettu kahdesta ohuesta pahvista, kuten kuvassa.

Yksi varoitus on, että sokkelo ei saa olla suuri. Jos robotin käännökset ovat hieman kulmassa oikeaan nähden, erot lisääntyvät muutaman kierroksen jälkeen. Esimerkiksi jos vasen käännös on 3 astetta poissa, 5 vasemman käännöksen jälkeen robotti kääntyy 15 astetta pois. Suuressa sokkelossa olisi enemmän käännöksiä ja pidempi polku kuin pienessä, ja robotti voisi juosta seiniin. Minun piti vaipua useita kertoja kierrosten asetuksiin saadakseni onnistuneen ajamisen pienen sokkelon läpi.

TULEVAISUUDEN PARANNUKSET

Ilmeinen jatkoprojekti on saada robotti kykenemään määrittämään suora polku sokkelon läpi navigoitaessa ja ajaa sitten tätä suoraa polkua (välttäen umpikujia) heti sen jälkeen.

Tämä on paljon monimutkaisempi kuin nykyinen projekti. Robotin on muistettava kulkemansa polku, poistettava umpikujat, tallennettava uusi polku ja seurattava sitten uutta polkua. Aion työskennellä tämän projektin parissa lähitulevaisuudessa. Odotan, että se on mahdollista saavuttaa LEGO Mindstorms EV3: lla käyttämällä Array Operations -lohkoja ja joitain matematiikkaan liittyviä lohkoja.

PÄÄTELMÄ HUOMAUTUS

Tämä oli hauska projekti. Toivon, että pidät sitä myös mielenkiintoisena.

Suositeltava: