Tartalomjegyzék:
- 1. lépés: Videó bemutató
- 2. lépés: A működés áttekintése
- 3. lépés: Hatótávolság érzékelők
- 4. lépés: Nádpozíció -érzékelők
- 5. lépés: Processzor
- 6. lépés: A kód áttekintése
- 7. lépés: Alkatrészlista
- 8. lépés: Motiváció és fejlesztés
- 9. lépés: Következtetés
- 10. lépés: Felépítés és kód
Videó: EyeRobot - a robot fehér nád: 10 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:44
Absztrakt: Az iRobot Roomba Create használatával prototípusoztam egy eyeRobot nevű eszközt. A vakok és gyengénlátók körbevezeti a zsúfolt és lakott környezetet, és a Roomba-t használva alapul veszi a hagyományos fehér nád egyszerűségét a látó kutya ösztöneivel. A felhasználó a fogantyú intuitív megnyomásával és csavarásával jelzi kívánt mozgását. A robot felveszi ezt az információt, és tiszta utat talál a folyosón vagy a szobán, szonár segítségével a felhasználót megfelelő irányba tereli a statikus és dinamikus akadályok körül. A felhasználó ezután követi a robotot, miközben a fogantyún keresztül érezhető erő által a kívánt irányba tereli a felhasználót. Ez a robotos opció kevés edzést igényel: nyomja az induláshoz, húzza meg a megállításhoz, csavarja a forduláshoz. A távolságmérők előrelátása hasonló a látó szemű kutyákhoz, és jelentős előnyt jelent a fehér nád használatát jelző állandó próbálkozásokkal szemben. Ennek ellenére a eyeRobot továbbra is sokkal olcsóbb alternatívát kínál, mint a vakvezető kutyák, amelyek több mint 12 000 dollárba kerülnek, és csak 5 évig használhatók, míg a prototípus jóval 400 dollár alatt készült. Ez egy viszonylag egyszerű gép is, néhány olcsó érzékelőt, különböző potenciométereket, néhány hardvert és természetesen egy Roomba Create -t igényel.
1. lépés: Videó bemutató
Kiváló minőségű változat
2. lépés: A működés áttekintése
Felhasználói vezérlés: Az eyeRobot működését a lehető leg intuitívabbra tervezték, hogy jelentősen csökkentse vagy megszüntesse az edzéseket. A mozgás megkezdéséhez a felhasználónak egyszerűen el kell kezdenie az előrehaladást, a bot tövében lévő lineáris érzékelő felveszi ezt a mozgást, és elkezdi mozgatni a robotot előre. Ennek a lineáris érzékelőnek a segítségével a robot a sebességét a felhasználó kívánt sebességéhez tudja igazítani. Az eyeRobot olyan gyorsan fog mozogni, amennyire a felhasználó akar. Annak jelzésére, hogy fordulás kívánatos, a felhasználónak egyszerűen el kell csavarnia a fogantyút, és ha lehetséges a kanyar, a robot ennek megfelelően reagál.
Robotnavigáció: Amikor nyílt térben utazik, az eyeRobot megpróbál egyenes utat tartani, észleli a felhasználót akadályozó akadályokat, és elvezeti a felhasználót az adott tárgy körül, majd vissza az eredeti útvonalra. A gyakorlatban a felhasználó természetesen tudatos gondolkodás nélkül követheti a robotot. A folyosón való navigáláshoz a felhasználónak meg kell próbálnia a robotot a két oldal egyik falába tolni, miután megszerezte a falat, a robot elkezdi követni azt, irányítva a felhasználó a folyosón. Amikor eléri a kereszteződést, a felhasználó érezni fogja, hogy a robot elkezd forogni, és a fogantyú elcsavarásával választhat, hogy leállítja -e az új hajtást, vagy egyenes úton folytatja. Ily módon a robot nagyon hasonlít a fehér vesszőre, a felhasználó érezheti a környezetet a robottal, és felhasználhatja ezeket az információkat a globális navigációhoz.
3. lépés: Hatótávolság érzékelők
Ultrahangos: Az eyeRobot 4 ultrahangos távolságmérőt (MaxSonar EZ1) hordoz. Az ultrahangos érzékelők ívben vannak elhelyezve a robot elején, hogy információt nyújtsanak a robot előtt és oldalán lévő tárgyakról. Tájékoztatják a robotot az objektum hatótávolságáról, és segítenek neki nyitott útvonalat találni az objektum körül, majd vissza az eredeti útvonalára.
IR -távolságmérők: Az eyeRobot két IR -érzékelőt (GP2Y0A02YK) is tartalmaz. Az infravörös távolságmérők 90 fokkal jobbra és balra néznek, hogy segítsék a robotot a fal követésében. Figyelmeztethetik a robotot az oldalaihoz túl közel lévő tárgyakra is, amelyekbe a felhasználó beléphet.
4. lépés: Nádpozíció -érzékelők
Lineáris érzékelő: Annak érdekében, hogy az eyeRobot sebessége megfeleljen a felhasználó sebességének, az eyeRobot érzékeli, hogy a felhasználó nyomja vagy késlelteti előrehaladását. Ezt úgy érik el, hogy a vessző alját a pálya mentén csúsztatják, mivel egy potenciométer érzékeli a vessző helyzetét. Az eyeRobot ezt a bemenetet használja a robot sebességének szabályozására. A szem robotja, amely lineáris érzékelőn keresztül alkalmazkodik a felhasználó sebességéhez, valójában a családi fűnyíró ihlette. A vessző alja egy sín mentén mozgó vezetőblokkhoz kapcsolódik. A vezetőblokkhoz egy csúsztatási potenciométer kapcsolódik, amely leolvassa a vezetőblokk helyzetét és jelenti azt a processzornak. Annak érdekében, hogy a bot elfordulhasson a robothoz képest, egy rúd fut végig egy fatömbön, és forgó csapágyat képez. Ezt a csapágyat egy csuklópánthoz rögzítik, hogy a bot a felhasználó magasságához igazodjon.
Csavarásérzékelő: A csavaróérzékelő lehetővé teszi a felhasználó számára, hogy a robot forgatásához megcsavarja a fogantyút. Egy potenciométert rögzítenek az egyik fa tengely végéhez, és a gombot behelyezik és ragasztják a fogantyú felső részébe. A vezetékek végigfutnak a csapon, és a csavarási információkat a processzorba táplálják.
5. lépés: Processzor
Processzor: A robotot egy Zbasic ZX-24a vezérli, amely a Robodyssey Advanced alaplap II-en ül. A processzort a gyorsaság, a könnyű használat, a megfizethető költségek és a 8 analóg bemenet miatt választották. Nagy prototípusú kenyérsütő táblához van csatlakoztatva, hogy lehetővé tegye a gyors és egyszerű cserét. A robot minden energiája az alaplapon lévő tápegységből származik. A Zbasic a rakodónyíláson keresztül kommunikál a Roomba -val, és teljes mértékben irányítja a Roomba érzékelőit és motorjait.
6. lépés: A kód áttekintése
Akadálykerülés: Az akadályok elkerülése érdekében a eyeRobot olyan módszert alkalmaz, amelyben a robot közelében lévő tárgyak virtuális erőt gyakorolnak a robotra, eltávolítva azt a tárgytól. Más szóval, a tárgyak eltaszítják a robotot önmaguktól. Az én megvalósításomban az objektum által kifejtett virtuális erő fordítottan arányos a távolság négyzetével, így a lökés erőssége növekszik, ahogy az objektum közelebb kerül, és nemlineáris válaszgörbét hoz létre: PushForce = ResponseMagnitudeConstant/Distance2Az egyes érzékelőkből érkező nyomások összeadódnak; a bal oldali érzékelők jobbra tolják, és fordítva, hogy vektorot kapjanak a robot utazásához. Ezután a kerék sebességét megváltoztatják, így a robot e vektor felé fordul. Annak biztosítása érdekében, hogy a robot előtt holt tárgyak ne mutassanak "nem választ" (mert a kétoldali erők egyensúlyban vannak), a holt fronton lévő tárgyak a nyitottabb oldalra tolják a robotot. Amikor a robot elhaladt az objektum mellett, a Roomba kódolóit használva korrigálja a változást, és visszatér az eredeti vektorhoz.
Falkövetés: A falkövetés elve a kívánt távolság és párhuzamos szög fenntartása a fallal. Problémák merülnek fel, amikor a robotot a falhoz képest elforgatják, mert az egyetlen érzékelő haszontalan tartomány leolvasást eredményez. A hatótávolságot a robotok falhoz viszonyított szöge és a faltól való tényleges távolság is befolyásolja. A szög meghatározásához és ennek a változónak a kiküszöböléséhez a robotnak két viszonyítási ponttal kell rendelkeznie, amelyek összehasonlíthatók a robotszög meghatározásához. Mivel az eyeRobotnak csak az egyik oldala van infravörös távolságmérővel, e két pont eléréséhez össze kell hasonlítania a távolságot a távolságmérőtől a robot mozgása során. Ezután meghatározza a szögét a két leolvasott érték különbségéből, amikor a robot a fal mentén mozog. Ezután ezeket az információkat használja a helytelen pozicionálás korrigálására. A robot akkor lép falkövetési üzemmódba, ha egy bizonyos ideig fal van mellette, és kilép onnan, ha akadály áll az útjában, ami eltolja az útjától, vagy ha a felhasználó a csavaró fogantyút használja a robot távol a faltól.
7. lépés: Alkatrészlista
Szükséges alkatrészek: 1x) Roomba create1x) Nagyméretű akril2x) Sharp GP2Y0A02YK IR távolságmérő Zsanérok, dübelek, csavarok, anyák, konzolok és vezetékek
8. lépés: Motiváció és fejlesztés
Motiváció: Ezt a robotot úgy tervezték, hogy kitöltse a nyilvánvaló szakadékot a tehetséges, de drága vakvezető kutya és az olcsó, de korlátozott fehér vessző között. A piacképes és nagyobb teljesítményű Robot Fehér Nád kifejlesztése során a Roomba Create tökéletes eszköz volt egy gyors prototípus megtervezésére, hogy lássa, működik -e a koncepció. Ezenkívül a díjak gazdasági hátteret biztosítanának egy képesebb robot építésének jelentős költségeihez.
Fejlesztés: Az összeg, amit megtanultam ennek a robotnak az építésében, jelentős volt, és itt megpróbálom leírni, amit megtanultam, miközben megpróbálok egy második generációs robotot építeni: 1) Akadálykerülés - sokat tanultam a valós idejű akadályokról elkerülés. A robot építése során két teljesen eltérő akadálykerülő kódon mentem keresztül, kezdve az eredeti objektumerő -ötlettel, majd a legnyitottabb vektor megtalálásának és keresésének elvével, majd visszatérve az objektumerő -ötlethez a legfontosabb felismerés, hogy az objektum válaszának nem lineárisnak kell lennie. A jövőben kijavítom azt a hibámat, hogy nem végeztem online kutatást a korábban használt módszerekről, mielőtt nekiláttam a projektemnek, mivel most tanulok egy gyors Google -keresést, amely számos nagyszerű dolgozatot eredményezett volna a témában. 2) A bot tervezése érzékelők - A projekt kezdetén úgy gondoltam, hogy az egyetlen lehetőség a lineáris érzékelő számára az, hogy csúszóedényt és valamilyen lineáris csapágyat használok. Most már rájöttem, hogy sokkal egyszerűbb lehetőség lett volna a rúd tetejének egyszerű rögzítése a joystickra úgy, hogy a bot előre tolása a botkormányt is előre tolja. Ezenkívül egy egyszerű univerzális csukló lehetővé teszi, hogy a bot csavarását sok modern joystick csavarási tengelyébe fordítsák. Ez a megvalósítás sokkal egyszerűbb lett volna, mint az általam jelenleg használt. 3) Szabadon forgó kerekek - Bár ez lehetetlen lett volna a Roomba esetében, most nyilvánvalónak tűnik, hogy a szabadon forgó kerekekkel rendelkező robot ideális lenne erre a feladatra. A passzívan guruló robothoz nincs szükség motorra és kisebb akkumulátorra, így könnyebb. Ezenkívül ez a rendszer nem igényel lineáris érzékelőt a felhasználók nyomásának észlelésére, a robot egyszerűen a felhasználói sebességgel gurulna. A robotot a kerekek kormányzásával el lehetett forgatni, mint egy autót, és ha meg kell állítani a felhasználót, fékeket lehet hozzáadni. A következő generációs eyeRobot esetében minden bizonnyal ezt a nagyon eltérő megközelítést fogom használni. különböző referenciapontok eléréséhez. Két érzékelő, amelyek között van távolság, nagyban leegyszerűsítené a fal követését.5) Több érzékelő - Bár ez több pénzbe került volna, nehéz volt megpróbálni kódolni ezt a robotot, amelynek ilyen kevés ablaka van a processzoron kívüli világon. Sokkal erőteljesebbé tette volna a navigációs kódot egy teljesebb szonár tömb segítségével (de természetesen az érzékelők pénzbe kerülnek, ami akkor nem volt nálam).
9. lépés: Következtetés
Következtetés: Az iRobot ideális prototípus -platformnak bizonyult a robotizált fehér vessző koncepciójával való kísérletezéshez. A prototípus eredményei alapján nyilvánvaló, hogy egy ilyen típusú robot valóban életképes. Remélem, hogy kifejleszthetek egy második generációs robotot a Roomba Create használatából levont tanulságokból. Az eyeRobot jövőbeni verzióiban olyan eszközt képzelek el, amely többre képes, mint egy személy vezetése a folyosón, inkább egy robot, amelyet a vakok kezébe lehet adni a mindennapi életben való használatra. Ezzel a robottal a felhasználó egyszerűen kimondja a rendeltetési helyét, és a robot a felhasználó tudatos erőfeszítése nélkül elvezeti őket oda. Ez a robot elég könnyű és kompakt lenne ahhoz, hogy könnyen fel lehessen vinni a lépcsőn, és elrejtsék egy szekrényben. Ez a robot képes lenne a helyi mellett globális navigációt is végezni, és képes lenne a felhasználót az elejétől a célig vezetni a felhasználók előzetes ismerete vagy tapasztalata nélkül. Ez a képesség még a vakvezető kutyán is túlmutatna, mivel a GPS és a fejlettebb érzékelők lehetővé teszik a vakok számára, hogy szabadon navigáljanak a világban, Nathaniel Barshay, (Stephen Barshay lépett be)
10. lépés: Felépítés és kód
Néhány idegen szó az építésről: A fedélzetet egy akrildarabból készítették, amelyet körben vágtak, hátul nyílással, hogy hozzáférjenek az elektronikához, majd becsavarják a csomagtér melletti rögzítő lyukakba. A prototípuslapot be kell csavarni a rekesz alján található csavarlyukba. A Zbasic L konzolra van szerelve, ugyanazokkal a csavarokkal, mint a fedélzet. Mindegyik szonárt egy akrildarabba csavarják, amely viszont a fedélzethez rögzített L konzolhoz van rögzítve (az L konzolok 10 fokkal hátra vannak hajlítva, hogy jobban lássák). A lineáris érzékelő sínje közvetlenül a fedélzetbe van csavarozva, és a tolóedényt L konzolokkal szerelik fel mellé. A lineáris érzékelő és vezérlőrúd felépítésének technikai leírása a 4. lépésben található.
Kód: Csatoltam a robotkód teljes verzióját. Egy óra alatt megpróbáltam kitakarítani a fájlban található három vagy négy generációs kódból, most már elég egyszerűnek kell lennie. Ha rendelkezik ZBasic IDE -vel, könnyen megtekinthetőnek kell lennie, ha nem, használja a main.bas fájlból induló Jegyzettömböt és a többi.bas fájlt.
Ajánlott:
Fehér tölgyfa arcú, erőteljes passzív hangszórók: 16 lépés (képekkel)
Fehér tölgyfa arcú erőteljes passzív hangszórók: Ez a harmadik hangszóró projektem, és teljesen más, mint az előzőek! Ezúttal nagy, erőteljes és szép megjelenésű monitorokat készítek az audio szobámba! Van néhány más projektem az Instagramon, kérjük, nézze meg őket
Fehér zaj éjszakai fény: 11 lépés (képekkel)
Fehér zaj éjszakai fény: Ezt a projektet karácsonyra készítettem 1 éves gyermekemnek. Őszintén szólva, józan ajándék volt számomra és a feleségemnek. Ez egy fehér zajú gép, amely több különböző hangot képes lejátszani egy webes felületen keresztül, és fényt is tartalmaz
Canne Blanche lézer / lézeres fehér nád Arduino -val: 6 lépés
Canne Blanche lézer / lézeres fehér nád Arduino -val: Télémètre lézer vibráló és nem fréquence inversement proporcionális à la distance pointée. Assistance aux déficiences visuelles. Lézeres távolságmérő vibrál a fordítottan arányos frekvenciával a hegyes távolsággal. Segítség a látásromláshoz
A fehér nyúl Nixie óra: 7 lépés (képekkel)
The White Rabbit Nixie Clock: Hello all Amint a korábbi hozzászólásaimból is látszik, elragadtatásom van a Nixie csövekkel, a történelmükkel, a működésükkel és az egyedi megjelenésükkel és fényükkel, amit adok, volt szerencsém hozzáférni a Epilog lézervágó ehhez a projekthez, és nem
Arduino hangú fehér nád (első rész): 6 lépés (képekkel)
Arduino Hangos Fehér Nád (Első rész): Évekkel ezelőtt egy diáknál voltam, akinek volt egy családtagja, aki vak volt, és rájöttem, hogy elérhetünk egy kis megoldást, amely hallhatóvá teszi, hogy hány lépés van valamilyen akadály, nyilvánvalóan A korábban rögzített számokkal rendelkező arduino