Tartalomjegyzék:

A LEGO robot labirintuson keresztül hajt: 9 lépés
A LEGO robot labirintuson keresztül hajt: 9 lépés

Videó: A LEGO robot labirintuson keresztül hajt: 9 lépés

Videó: A LEGO robot labirintuson keresztül hajt: 9 lépés
Videó: Megkérdezték ezt a ROBOTOT, hogy hisz-e ISTENBEN 2024, November
Anonim
Image
Image
A robot alapja
A robot alapja

Ez egy egyszerű, autonóm robot, amelyet arra terveztek, hogy a labirintuson keresztül a kijárathoz vezessen. LEGO Mindstorms EV3 segítségével készült. Az EV3 szoftver számítógépen fut, és létrehoz egy programot, amelyet aztán letölt egy EV3 Brick nevű mikrokontrollerre. A programozási módszer ikon alapú és magas szintű. Nagyon könnyű és sokoldalú.

ALKATRÉSZEK

  1. LEGO Mindstorms EV3 készlet
  2. LEGO Mindstorms EV3 ultrahangos érzékelő. Nem tartalmazza az EV3 szettet.
  3. Hullámkarton a labirintushoz. Két kartondoboznak elegendőnek kell lennie.
  4. Egy kis darab vékony karton, amely segít stabilizálni néhány sarkot és falat.
  5. Ragasztó és szalag a kartondarabok összekapcsolásához.
  6. Piros üdvözlőlap boríték a labirintus kijáratának azonosítására.

ESZKÖZÖK

  1. Hasznos kés a karton vágásához.
  2. Acél vonalzó segíti a vágási folyamatot.

KERÜLETMEGOLDÁSI MÓDSZER

A labirintusban való navigálásnak számos módja van. Ha érdekli a tanulmányozás, nagyon jól leírja őket a következő Wikipédia -cikk:

A bal oldali falkövető szabályt választottam. Az ötlet az, hogy a robot a bal oldalán egy falat tart, és a következő döntéseket hozza, amikor áthalad a labirintuson:

  1. Ha lehetséges balra fordulni, tegye meg.
  2. Ellenkező esetben menjen egyenesen, ha lehetséges.
  3. Ha nem tud balra vagy egyenesen menni, forduljon jobbra, ha lehetséges.
  4. Ha a fentiek egyike sem lehetséges, akkor ennek zsákutcának kell lennie. Fordulj meg.

Egy óvatosság az, hogy a módszer meghiúsulhat, ha a labirintusban van hurok. A hurok elhelyezésétől függően a robot folyamatosan körbejárhatja a hurkot. Egy lehetséges megoldás erre a problémára az lenne, ha a robot átállna a jobb oldali falkövető szabályra, ha rájönne, hogy hurokban megy. Ezt a finomítást nem vettem bele a projektembe.

A ROBOT ÉPÍTÉSÉNEK LÉPÉSEI

Bár a LEGO Mindstorms EV3 nagyon sokoldalú, minden egyes típusú érzékelőből legfeljebb egyet engedélyez egy téglához. Két vagy több tégla láncba köthető, de nem akartam másik téglát vásárolni, ezért a következő érzékelőket használtam (három ultrahangos érzékelő helyett): infravörös, színérzékelő és ultrahangos érzékelő. Ez jól sikerült. Az alábbi fotópárok bemutatják, hogyan kell felépíteni a robotot. Minden pár első fotója a szükséges alkatrészeket mutatja, a második pedig ugyanazokat az alkatrészeket.

Lépés: A robot alapja

A robot alapja
A robot alapja

Az első lépés a robot alapjának felépítése a bemutatott alkatrészek felhasználásával. A robot alapja fejjel lefelé látható. A robot hátsó részén található kis L alakú rész támaszt a hátnak. Csúszik, ahogy a robot mozog. Ez rendben működik. Az EV3 készletnek nincs gördülőgolyós része.

2. lépés: Az alap teteje

Az alap teteje
Az alap teteje
Az alap teteje
Az alap teteje
Az alap teteje
Az alap teteje

A következő 3 lépés a robot alapjának tetejére, a színérzékelőre és a kábelekre vonatkozik, amelyek mind 10 cm (26 cm) kábelek

3. lépés: Infravörös és ultrahangos érzékelők

Infravörös és ultrahangos érzékelők
Infravörös és ultrahangos érzékelők
Infravörös és ultrahangos érzékelők
Infravörös és ultrahangos érzékelők

Ezután az infravörös érzékelő (a robot bal oldalán) és az ultrahangos érzékelő (a jobb oldalon). Ezenkívül a 4 csap a tégla tetejére való rögzítéséhez.

Az infravörös és ultrahangos érzékelők a normál vízszintes helyett függőlegesen helyezkednek el. Ez lehetővé teszi a falak sarkainak vagy végeinek jobb azonosítását.

4. lépés: Kábelek

Kábelek
Kábelek

Csatlakoztassa a téglát és csatlakoztassa a kábeleket az alábbiak szerint:

  • B port: bal nagy motor.
  • C port: jobb nagy motor.
  • 2. port: ultrahangos érzékelő.
  • 3. port: színérzékelő.
  • 4. port: infravörös érzékelő.

5. lépés: A robot építésének utolsó lépése: dekoráció

A robot építésének utolsó lépése: dekoráció
A robot építésének utolsó lépése: dekoráció
A robot építésének utolsó lépése: dekoráció
A robot építésének utolsó lépése: dekoráció
A robot építésének utolsó lépése: dekoráció
A robot építésének utolsó lépése: dekoráció

A szárnyak és az uszonyok csak dekorációra szolgálnak.

6. lépés: A program pszeudokódja

  1. Várjon 3 másodpercet, és mondja: „Menj”.
  2. Indítsa el a robotot egyenesen előre.
  3. Ha lehetséges balra kanyarodni (azaz ha az infravörös érzékelő nem érzékel egy közeli tárgyat), akkor mondja ki a „Bal” gombot, és menjen balra.
  4. Menjen előre körülbelül 15 cm -rel, hogy elkerülje a hamis balra fordulást. Ennek oka az, hogy miután a robot megfordult, az érzékelő látta a hosszú teret, ahonnan éppen jött, és a robot azt gondolná, hogy balra kell fordulnia, ami nem megfelelő. Térjen vissza a 2. lépéshez.
  5. Ha nem lehet balra kanyarodni, ellenőrizze, mit lát a színérzékelő a robot előtt.
  6. Ha nincs szín (azaz nincs objektum), akkor térjen vissza a 2. lépéshez.
  7. Ha a szín piros, akkor ez a kijárat. Állítsa le a robotot, játsszon fanfárt, és állítsa le a programot.
  8. Ha a színe barna (azaz barna karton előtt), akkor állítsa le a robotot.

    1. Ha lehetséges jobbra kanyarodni (azaz ha az ultrahangos érzékelő nem érzékel egy közeli tárgyat), akkor mondja ki a „Right” (jobbra) lehetőséget, és menjen jobbra. Térjen vissza a 2. lépéshez.
    2. Ha nem lehet jobbra kanyarodni, mondja azt, hogy „Uh-oh”, menjen vissza körülbelül 12,5 cm-re, és forduljon meg. Térjen vissza a 2. lépéshez.

7. lépés: Programozás

Program
Program

A LEGO Mindstorms EV3 nagyon kényelmes ikon-alapú programozási módszerrel rendelkezik. A blokkok a számítógép képernyőjének alján jelennek meg, és a program létrehozásához áthúzhatók a programozási ablakba. A képernyőkép a projekt programját mutatja. A blokkokat a következő lépésben ismertetjük.

Nem tudtam rájönni, hogyan állíthatom be a program letöltését az embereknek, így a blokkokat a következő lépésben ismertetjük. Minden blokk rendelkezik opciókkal és paraméterekkel. Nagyon könnyű és sokoldalú. Nem sok időbe telhet, amíg kifejleszti a programot és/vagy megváltoztatja azt az igényeinek megfelelően. Mint mindig, a program fejlesztése során érdemes rendszeresen menteni a programot.

Az EV3 Brick USB-kábellel, Wi-Fi-n vagy Bluetooth-on keresztül csatlakoztatható a számítógéphez. Ha csatlakoztatva van és be van kapcsolva, ezt egy kis ablak jelzi a számítógép EV3 ablakának jobb alsó sarkában. A jobb oldali „EV3” pirosra vált. Ha ez a kijelző Port nézetre van állítva, akkor valós időben mutatja, hogy mit érzékel az egyes érzékelők. Ez hasznos a kísérletezéshez.

A program felépítésekor azt javaslom, hogy balról jobbra és fentről lefelé haladva dolgozzon, és növelje a hurok- és kapcsolóblokkokat, mielőtt más blokkokat magába húz. Rendetlen problémákba ütköztem, amikor további blokkokat akartam beilleszteni a nagyítás előtt.

8. lépés: Programblokkok

  1. A program bal oldalán kezdődően a Start blokk automatikusan megjelenik, amikor egy programot fejlesztenek.
  2. Következzen egy várakozási blokk, amely a program elindítása után 3 másodpercet ad a robot elhelyezésére az útvesztő bejáratánál.
  3. A hangblokk miatt a robot azt mondja: „Menj”.
  4. A Loop Block a program nagy részét tartalmazza. Mielőtt elkezdené a blokkok beszúrását, a kijelzőt négyszer vagy ötször ki kell kicsinyíteni, és ezt a hurokblokkot szinte a programozási vászon jobb széléig kell kinagyítani. Utána kisebbre tehető.
  5. A hurkon belüli első blokk egy mozgató kormányblokk, a kormányzást nullára állítva, és a teljesítményt 20 -ra állítva. Ez elindítja a motorokat egyenesen előre, alacsony fordulatszámon. A gyorsabb sebesség miatt a robot túl messzire mozdulhat el, amikor előrehalad, miközben a következő lépésekben beszél.
  6. Az infravörös érzékelő közelségi módjában lévő kapcsolóblokk ellenőrzi, hogy van -e olyan tárgy, amely a 30. értéknél távolabb van. Ez barna karton esetében körülbelül 23 hüvelyknek felel meg. Ha az érték nagyobb, mint 30, akkor a 7., 8. és 9. blokk kerül végrehajtásra, ellenkező esetben a program az alábbi 10. blokkra megy.
  7. A hangblokk miatt a robot azt mondja: „Bal”.
  8. A Move Steering Block, amikor a kormányzás -45 -re van állítva, a teljesítmény 20 -ra van állítva, az elforgatások 1,26 -ra vannak állítva, és a fék a végén beállítás True -ra van állítva. Így a robot balra fordul.
  9. A Move Steering Block a kormányzást nullára állítva, a teljesítményt 20 -ra, a forgást 1,2 -re állítva, és a fék a végén értéket True -ra állítva. Így a robot körülbelül 15 cm -rel előrehalad, hogy elkerülje a hamis balra fordulást.
  10. A színérzékelő színmérési módjában lévő kapcsolóblokk ellenőrzi, hogy milyen szín áll a robot előtt. Ha nincs szín (azaz nincs objektum), akkor a program a ciklus végére megy. Ha a szín piros, akkor a 11., 12. és 13. blokk kerül végrehajtásra. Ha a szín barna, akkor a program az alábbi 14. blokkra megy.
  11. A Mozgassa a kormányblokkot kikapcsolt üzemmódban a motorok leállításához.
  12. A Sound Block fanfart játszik.
  13. A hurok megszakítás blokk kilép a hurokból.
  14. A Mozgassa a kormányblokkot kikapcsolt üzemmódban a motorok leállításához.
  15. Az Ultrasonic Sensor Compare Distance Inches módban lévő kapcsolóblokk ellenőrzi, hogy van -e olyan tárgy, amely 20 cm -nél távolabb van. Ha nagyobb, mint 8 hüvelyk, akkor a 16. és 17. blokkot hajtja végre, ellenkező esetben a program az alábbi 18. blokkra megy.
  16. A hangblokk miatt a robot azt mondja: „Rendben”.
  17. A Move Steering Block, amikor a kormányzás -55 -re van állítva, a teljesítmény -20 -ra van állítva, a forgatások 1,1 -re vannak állítva, és a fék a végén igazra van állítva. Ezáltal a robot jobbra fordul.
  18. A hangblokk miatt a robot azt mondja: „Uh-oh”.
  19. Egy mozgatási tartályblokk, amikor a bal oldali tápellátás értéke -20, a jobb oldali tápellátás -20, a forgatások értéke 1, a fék a végén pedig igaz. Így a robot körülbelül 12,5 cm (5 hüvelyk) hátrafelé áll, hogy legyen helye a megfordulásra.
  20. Egy mozgatási tartályblokk, amikor a bal oldali tápellátás értéke -20, a jobbra állított teljesítmény értéke 20, a forgatások értéke 1,14, a fék pedig végén pedig igaz. Így a robot megfordul.
  21. A hurok kijáratánál egy Stop Program blokk található.

9. LÉPÉS: ÉPÍTETNI KÖZPONTOT

ÉPÍTETNI KÖZPONTOT
ÉPÍTETNI KÖZPONTOT
ÉPÍTETNI KÖZPONTOT
ÉPÍTETNI KÖZPONTOT
ÉPÍTETNI KÖZPONTOT
ÉPÍTETNI KÖZPONTOT

Két hullámkarton kartonnak elegendőnek kell lennie az útvesztőhöz. A labirintus falait 12,5 cm magasra tettem, de 10 cm -nek ugyanolyan jól kell működnie, ha hiányzik a hullámkarton.

Először körbevágtam a kartondobozok falait, 25 cm -re az aljától. Aztán a falakat körbevágtam 5 centiméterre az aljától. Ez több 5 hüvelykes falat biztosít. Továbbá körbevágtam a kartondobozok alját, és körülbelül 2,5 cm -t hagytam a falakon a stabilitás érdekében.

A különböző darabok vághatók, ragaszthatók vagy ragaszthatók, ahol szükséges a labirintus kialakításához. A zsákutcás utakon a falak között 30 cm távolságnak kell lennie. Ez a távolság szükséges ahhoz, hogy a robot megfordulhasson.

Előfordulhat, hogy a labirintus néhány sarkát meg kell erősíteni, és bizonyos egyenes falakat meg kell akadályozni a hajlítástól, ha tartalmaznak kiegyenesített karton sarkot. Kis vékony kartondarabokat kell ragasztani az aljára ezeken a helyeken, az ábrán látható módon.

A kijáraton piros sorompó található, amely fél piros üdvözlőlap borítékból és 2 darab vékony kartonból készült alapból áll, az ábrán látható módon.

Egy óvatosság az, hogy a labirintus ne legyen nagy. Ha a robot kanyarjai kissé szögben vannak a megfelelőtől, néhány eltérés után az eltérések összeadódnak. Például, ha egy balra kanyarodás 3 fokkal lejjebb van, akkor 5 bal kanyar után a robot 15 fokkal elfordul. Egy nagy labirintusnak több kanyarja és hosszabb útja lenne, mint egy kicsinek, és a robot befuthatna a falakba. Többször kellett hegedülnöm a kanyarok Rotations beállításaival annak érdekében, hogy még az általam készített kis labirintusban is sikeres legyen a hajtás.

A JÖVŐ BŐVÍTÉSE

Nyilvánvaló folytatási projekt, hogy a robot képes legyen meghatározni a labirintuson áthaladó közvetlen utat, miközben navigál, és ezt követően meghajtja ezt a közvetlen utat (elkerülve a zsákutcákat).

Ez sokkal bonyolultabb, mint a jelenlegi projekt. A robotnak emlékeznie kell a megtett útra, el kell távolítania a zsákutcákat, el kell tárolnia az új utat, majd követnie kell az új utat. Tervezem, hogy a közeljövőben dolgozom ezen a projekten. Azt várom, hogy a LEGO Mindstorms EV3 segítségével megvalósíthatók tömbműveleti blokkok és néhány matematikai blokk használatával.

ZÁRÓ MEGJEGYZÉS

Ez egy szórakoztató projekt volt. Remélem, te is érdekesnek találod.

Ajánlott: