Tartalomjegyzék:
- Lépés: A robot alapja
- 2. lépés: Az alap teteje
- 3. lépés: Infravörös és ultrahangos érzékelők
- 4. lépés: Kábelek
- 5. lépés: A robot építésének utolsó lépése: dekoráció
- 6. lépés: A program pszeudokódja
- 7. lépés: Programozás
- 8. lépés: Programblokkok
- 9. LÉPÉS: ÉPÍTETNI KÖZPONTOT
Videó: A LEGO robot labirintuson keresztül hajt: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
- LEGO Mindstorms EV3 készlet
- LEGO Mindstorms EV3 ultrahangos érzékelő. Nem tartalmazza az EV3 szettet.
- Hullámkarton a labirintushoz. Két kartondoboznak elegendőnek kell lennie.
- Egy kis darab vékony karton, amely segít stabilizálni néhány sarkot és falat.
- Ragasztó és szalag a kartondarabok összekapcsolásához.
- Piros üdvözlőlap boríték a labirintus kijáratának azonosítására.
ESZKÖZÖK
- Hasznos kés a karton vágásához.
- 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:
- Ha lehetséges balra fordulni, tegye meg.
- Ellenkező esetben menjen egyenesen, ha lehetséges.
- Ha nem tud balra vagy egyenesen menni, forduljon jobbra, ha lehetséges.
- 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
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
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
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
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 szárnyak és az uszonyok csak dekorációra szolgálnak.
6. lépés: A program pszeudokódja
- Várjon 3 másodpercet, és mondja: „Menj”.
- Indítsa el a robotot egyenesen előre.
- 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.
- 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.
- Ha nem lehet balra kanyarodni, ellenőrizze, mit lát a színérzékelő a robot előtt.
- Ha nincs szín (azaz nincs objektum), akkor térjen vissza a 2. lépéshez.
- 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.
-
Ha a színe barna (azaz barna karton előtt), akkor állítsa le a robotot.
- 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.
- 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
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
- A program bal oldalán kezdődően a Start blokk automatikusan megjelenik, amikor egy programot fejlesztenek.
- 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.
- A hangblokk miatt a robot azt mondja: „Menj”.
- 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ő.
- 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.
- 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.
- A hangblokk miatt a robot azt mondja: „Bal”.
- 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.
- 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.
- 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.
- A Mozgassa a kormányblokkot kikapcsolt üzemmódban a motorok leállításához.
- A Sound Block fanfart játszik.
- A hurok megszakítás blokk kilép a hurokból.
- A Mozgassa a kormányblokkot kikapcsolt üzemmódban a motorok leállításához.
- 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.
- A hangblokk miatt a robot azt mondja: „Rendben”.
- 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.
- A hangblokk miatt a robot azt mondja: „Uh-oh”.
- 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.
- 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.
- A hurok kijáratánál egy Stop Program blokk található.
9. LÉPÉS: É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:
Hangvezérelt robot a BLUETOOTH -on keresztül: 3 lépés
Hangvezérelt robot BLUETOOTH -on keresztül: Ezt a robotot a telefonunk vezérli. Az alkalmazás linkje: https://play.google.com/store/apps/details?id=com…. Ezt a robotot a hangunk és a gombokkal is vezérelhető. Ez a robot csak demó célokra szolgál. Kövesse az
A Motor Shield frissítése a SMARS Robot Arduino számára - Kód feltöltése Bluetooth -on keresztül: 20 lépés
A Motor Shield frissítése a SMARS Robot Arduino számára - Feltöltési kód Bluetooth -on keresztül: Számos motorvédő opció használható az Arduino Uno -val ezen a SMARS robotprojekten, nagyon gyakran az Adafruit által gyártott vagy ezzel kompatibilis (Kínából származó klón) Motor Shield V1 használatával, de ennek a pajzsnak a hátránya nem rendelkezik a Blueto -val
Wifi -n keresztül vezérelt távbeszélő robot építése: 11 lépés (képekkel)
Wifi -n keresztül vezérelt távbeszélő robot építése: Ez a projekt egy olyan robot építéséről szól, amely képes kommunikálni a távoli környezettel, és a világ bármely pontjáról vezérelhető Wifi segítségével. Ez az utolsó év mérnöki projektem, és sokat tanultam az elektronikáról, az IoT -ről és a programozásról, bár
Eszközök irányítása az interneten keresztül a böngészőn keresztül. (IoT): 6 lépés
Eszközök irányítása az interneten keresztül a böngészőn keresztül. (IoT): Ebben az utasításban megmutatom, hogyan vezérelheti az olyan eszközöket, mint a LED-ek, relék, motorok stb. Az interneten keresztül a webböngészőn keresztül. És biztonságosan hozzáférhet a kezelőszervekhez bármilyen eszközön. Az itt használt webes platform a RemoteMe.org látogatás
Fájlok átvitele a LAN -on keresztül BitTorrenten keresztül: 6 lépés
Fájlok átvitele a LAN -on keresztül BitTorrenten keresztül: Néha előfordulhat, hogy fájlokat kell átvinni hálózaton keresztül több számítógépre. Bár flash -meghajtóra vagy CD/DVD -re teheti, minden számítógéphez el kell mennie, és másolnia kell a fájlokat, és eltarthat egy ideig, amíg az összes fájlt lemásolja (különösen az