Tartalomjegyzék:

Arduino vezérelt kétlábú robot: 13 lépés (képekkel)
Arduino vezérelt kétlábú robot: 13 lépés (képekkel)

Videó: Arduino vezérelt kétlábú robot: 13 lépés (képekkel)

Videó: Arduino vezérelt kétlábú robot: 13 lépés (képekkel)
Videó: Vonalkövető robot 2024, November
Anonim
Image
Image
Arduino vezérelt robotlábú
Arduino vezérelt robotlábú
Arduino vezérelt robotlábú
Arduino vezérelt robotlábú

Fusion 360 projektek »

Engem mindig is érdekeltek a robotok, különösen az, amelyik megpróbálja utánozni az emberi cselekedeteket. Ez az érdeklődés vezetett arra, hogy megpróbáljak megtervezni és kifejleszteni egy kétlábú robotot, amely képes utánozni az emberi járást és futást. Ebben az utasításban bemutatom a robot kétlábú tervezését és összeszerelését.

A projekt felépítése során az volt az elsődleges cél, hogy a rendszert a lehető legerősebbé tegyük, hogy a különböző járási és futási lépésekkel kísérletezve ne kelljen állandóan aggódnom a hardver meghibásodása miatt. Ez lehetővé tette számomra, hogy a hardvert a határáig tegyem. Másodlagos cél az volt, hogy a kétlábúakat viszonylag olcsóvá tegyük a könnyen elérhető hobbi alkatrészek és a 3D nyomtatás segítségével, teret hagyva a további fejlesztéseknek és bővítéseknek. Ez a két cél együttesen erőteljes alapot biztosít különböző kísérletek elvégzéséhez, lehetővé téve, hogy a kétlábúakat speciális követelményeknek megfelelően alakítsuk ki.

Folytassa a saját Arduino által vezérelt Robot Biped létrehozását, és dobja le a szavazást az "Arduino Contest" versenyen, ha tetszett a projekt.

1. lépés: Tervezési folyamat

Tervezési folyamat
Tervezési folyamat
Tervezési folyamat
Tervezési folyamat
Tervezési folyamat
Tervezési folyamat

A humanoid lábakat az Autodesk ingyenes Fusion 360 3D modellező szoftverével tervezték. Azzal kezdtem, hogy a szervomotorokat importáltam a tervezésbe, és köréjük építettem a lábakat. Terveztem konzolokat a szervomotorhoz, amely egy második forgáspontot biztosít a szervomotor tengelyével ellentétesen. A kettős tengely a motor mindkét végén szerkezeti stabilitást kölcsönöz a konstrukciónak, és kiküszöböli az esetleges ferdüléseket, amelyek akkor fordulhatnak elő, ha a lábakat bizonyos terhelésnek teszik ki. A kapcsokat úgy tervezték, hogy tartsák a csapágyat, míg a konzolok csavart használtak a tengelyhez. Miután a tengelykapcsokat anyával rögzítették a tengelyekre, a csapágy sima és masszív forgáspontot biztosít a szervomotor tengelyével szemben.

A kétlábú tervezésénél a másik cél az volt, hogy a modell a lehető legkompaktabb legyen, hogy maximálisan ki lehessen használni a szervomotorok által nyújtott nyomatékot. A láncszemek méreteit úgy határozták meg, hogy nagy mozgástartományt érjenek el, minimálisra csökkentve a teljes hosszúságot. Ha túl rövidre tesszük őket, a konzolok ütköznek, csökken a mozgástartomány, és túlságosan hosszú lesz, szükségtelen nyomatékot gyakorol a hajtóművekre. Végül megterveztem a robot testét, amelyre az Arduino és más elektronikus alkatrészek felszerelhetők.

Megjegyzés: Az alkatrészek az alábbi lépések egyikében szerepelnek.

2. lépés: Az Arduino szerepe

Az Arduino szerepe
Az Arduino szerepe

Ebben a projektben egy Arduino Uno -t használtak. Az Arduino feladata volt kiszámítani a tesztelt különböző járások mozgási útvonalait, és utasította a hajtóműveket, hogy pontos szögben mozogjanak, pontos sebességgel, hogy sima mozgást hozzanak létre. Az Arduino sokoldalúságának köszönhetően kiváló választás projektek fejlesztésére. Egy csomó IO -tűt biztosít, és olyan interfészeket is biztosít, mint a soros, az I2C és az SPI, hogy kommunikáljon más mikrokontrollerekkel és érzékelőkkel. Az Arduino nagyszerű platformot is kínál a gyors prototípus -készítéshez és teszteléshez, valamint lehetőséget ad a fejlesztőknek a fejlesztésekhez és a bővíthetőséghez. Ebben a projektben a további változatok tartalmaznak egy inerciális mérőegységet a mozgásfeldolgozásra, mint például az esésérzékelés és dinamikus mozgás egyenetlen terepen, valamint egy távolságmérő érzékelőt az akadályok elkerülése érdekében.

Ehhez a projekthez az Arduino IDE -t használták. (Az Arduino webes IDE-t is biztosít)

Megjegyzés: A robot programjai az alábbi lépések egyikéből tölthetők le.

3. lépés: Szükséges anyagok

Szükséges anyagok
Szükséges anyagok
Szükséges anyagok
Szükséges anyagok
Szükséges anyagok
Szükséges anyagok
Szükséges anyagok
Szükséges anyagok

Itt található az összes olyan alkatrész és alkatrész listája, amely szükséges a saját Arduino hajtású kétlábú robot elkészítéséhez. Minden alkatrésznek könnyen elérhetőnek és könnyen elérhetőnek kell lennie.

ELEKTRONIKA:

Arduino Uno x 1

Towerpro MG995 szervomotor x 6

Perfboard (hasonló méretű, mint az Arduino)

Férfi és női fejléc (kb. 20 db)

Jumper vezetékek (10 db)

MPU6050 IMU (opcionális)

Ultrahangos érzékelő (opcionális)

HARDVER:

Gördeszka csapágy (8x19x7mm)

M4 anyák és csavarok

3D nyomtatószál (abban az esetben, ha nem rendelkezik 3D nyomtatóval, 3D nyomtatónak kell lennie a helyi munkaterületen, vagy a nyomatokat online is meg lehet csinálni meglehetősen olcsón)

Az Arduino és a 3D nyomtató nélkül a projekt teljes költsége 20 dollár.

4. lépés: 3D nyomtatott alkatrészek

3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek
3D nyomtatott alkatrészek

A projekthez szükséges alkatrészeket egyedileg kellett megtervezni, ezért a nyomtatáshoz 3D nyomtatót használtak. A nyomatok 40% -os kitöltéssel, 2 kerülettel, 0,4 mm -es fúvókával és 0,1 mm -es rétegmagassággal készültek, tetszés szerinti színben. Az alábbiakban megtalálja az alkatrészek teljes listáját és a saját verziójának nyomtatásához szükséges STL -ket.

Megjegyzés: Innentől kezdve az alkatrészekre a listában szereplő nevek használatával hivatkozunk.

  • láb szervo tartó x 1
  • láb szervo tartó tükör x 1
  • térd szervo tartó x 1
  • térd szervo tartó tükör x 1
  • láb szervo tartó x 1
  • láb szervo tartó tükör x 1
  • csapágyazás x 2
  • szervo kürt link 2 x
  • lábtartó x 2
  • híd x 1
  • elektronikai tartó x 1
  • elektronikai távtartó x 8 (opcionális)
  • szervo kürt hely x 12 (opcionális)

A távtartókat leszámítva összesen 14 rész van. A teljes nyomtatási idő körülbelül 20 óra.

5. lépés: A szervókeret előkészítése

A szervo konzolok előkészítése
A szervo konzolok előkészítése
A szervo konzolok előkészítése
A szervo konzolok előkészítése
A szervo konzolok előkészítése
A szervo konzolok előkészítése

Miután kinyomtatta az összes alkatrészt, kezdje el a szervók és a szervókonzolok beállításával. Először nyomja be a csapágyat a térdszervó tartóba. Az illeszkedésnek szorosnak kell lennie, de azt javaslom, hogy kissé csiszolja a lyuk belső felületét a csapágy erőltetése helyett, ami veszélyeztetheti az alkatrész törését. Ezután vezessen át egy M4 csavart a lyukon, és húzza meg anyával. Ezután ragadja meg a lábtartót, és a mellékelt csavarokkal rögzítse rá a kör alakú szervókürtöt. Csatlakoztassa a lábtartót a térdszervó -tartóhoz a csavarokkal, amelyeket a szervomotor rögzítésére is használ. Ügyeljen arra, hogy a motort úgy állítsa be, hogy a tengely ugyanazon az oldalon legyen, mint a korábban rögzített csavar. Végül rögzítse a szervót a többi anyával és csavarral.

Tegye ugyanezt a csípő szervo tartó és a láb szervo tartó. Ezzel rendelkeznie kell három szervomotorral és a hozzájuk tartozó konzolokkal.

Megjegyzés: Az egyik láb építésére vonatkozó utasításokat adok, a másikat egyszerűen tükrözik.

6. lépés: A linkdarabok elkészítése

A linkdarabok készítése
A linkdarabok készítése
A linkdarabok készítése
A linkdarabok készítése
A linkdarabok készítése
A linkdarabok készítése

Miután összeszerelte a konzolokat, kezdje el a linkek készítését. A csapágyazás elkészítéséhez még egyszer enyhén csiszolja meg a csapágy lyukainak belső felületét, majd nyomja be a csapágyat a lyukba mindkét oldalon. Feltétlenül nyomja be a csapágyat, amíg az egyik oldala egy síkba nem kerül. A szervo kürt csatlakozójának megépítéséhez ragadjon meg két kör alakú szervókürtöt és a mellékelt csavarokat. Helyezze a szarvakat a 3D nyomtatásra, és illessze be a lyukakat, majd csavarja a kürtöt a 3D nyomtatásra úgy, hogy a csavart a 3D nyomtatási oldalról rögzíti. Javaslom, hogy ezekhez a csavarokhoz 3D nyomtatott szervo kürt távtartót használjon. A linkek felépítése után megkezdheti a láb összeszerelését.

7. lépés: A lábak összeszerelése

A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése
A lábak összeszerelése

Miután összeállították a láncszemeket és a konzolokat, kombinálhatja őket a robot lábának felépítéséhez. Először használja a szervo kürt linket a csípő szervo konzol és a térd szervo tartó rögzítéséhez. Megjegyzés: Ne csavarja még a kürtöt a szervóhoz, mivel a következő szakaszban van egy beállítási szakasz, és kellemetlenséget okozhat, ha a kürtöt a szervomotorra csavarják.

Az ellenkező oldalon szerelje fel a csapágyat a kiálló csavarokra anyák segítségével. Végül rögzítse a lábszervokeretet úgy, hogy a kiálló csavart behelyezi a térdszervó tartó csapágyába. És rögzítse a szervo tengelyt a szervo kürthöz, amely a másik oldalon található térdszervó -tartóhoz van csatlakoztatva. Ez trükkös feladat lehet, és ehhez egy második kézpárt javaslok.

Ismételje meg a lépéseket a másik lábnál is. Használja az egyes lépésekhez csatolt képeket referenciaként.

8. lépés: Egyéni NYÁK és huzalozás

Egyedi NYÁK és huzalozás
Egyedi NYÁK és huzalozás
Egyedi NYÁK és huzalozás
Egyedi NYÁK és huzalozás
Egyedi NYÁK és huzalozás
Egyedi NYÁK és huzalozás

Ez egy opcionális lépés. A vezetékek tisztábbá tételéhez úgy döntöttem, hogy egyedi nyomtatott áramköri lapot készítek perflemez és fejléc segítségével. A NYÁK portokat tartalmaz a szervomotor vezetékeinek közvetlen csatlakoztatásához. Ezenkívül további portokat is hagytam arra az esetre, ha bővíteni és más érzékelőket szeretnék hozzáadni, például inerciamérő egységeket vagy ultrahangos távolságérzékelőket. Tartalmaz továbbá egy portot a szervo motorok táplálásához szükséges külső áramforráshoz. Az Arduino USB és külső tápellátása közötti áthidaló csatlakozással lehet váltani. Csavarokkal és a 3D nyomtatott távtartókkal szerelje fel az Arduino -t és a PCB -t az elektronikai tartó mindkét oldalára.

Megjegyzés: Ügyeljen arra, hogy húzza ki az áthidalót, mielőtt az Arduino -t USB -n keresztül csatlakoztatja a számítógéphez. Ennek elmulasztása az Arduino károsodásához vezethet.

Ha úgy dönt, hogy nem használja a NYÁK -ot, hanem kenyérsütő deszkát használ, itt vannak a szervocsatlakozások:

  • Bal csípő >> csap 9
  • Jobb csípő >> csap 8
  • Bal térd >> csap 7
  • Jobb térd >> csap 6
  • Bal láb >> csap 5
  • Jobb láb >> csap 4

Ha mégis úgy dönt, hogy a NYÁK -t a fent leírt sorrend szerint készíti el, használja a NYÁK portjait jobbról balra, az IMU -port felfelé. És használja a hagyományos férfi -női áthidaló vezetékeket, hogy csatlakoztassa a NYÁK -t az Arduino -hoz a fenti pin számok használatával. Feltétlenül csatlakoztassa a földelőcsapot, és hozza létre ugyanazt a földpotenciált és a Vin -tűt, amikor úgy dönt, hogy USB -tápellátás nélkül futtatja.

9. lépés: A test összeszerelése

A test összeszerelése
A test összeszerelése
A test összeszerelése
A test összeszerelése
A test összeszerelése
A test összeszerelése

A két láb és az elektronika összeszerelése után kombinálja őket a robot testének felépítéséhez. Használja a híddarabot a két láb összekapcsolásához. Ugyanazokat a rögzítőfuratokat használja a csípő szervo tartóján, valamint a szervomotort tartó anyákat és csavarokat. Végül csatlakoztassa az elektronikai tartót a hídhoz. Igazítsa a lyukakat a hídon és az elektronika szerelvényén, és M4 anyákkal és csavarokkal készítse el a kötést.

Segítségért nézze meg a mellékelt képeket. Ezzel befejezte a robot hardverépítését. Ezután ugorjunk bele a szoftverbe, és keltsük életre a robotot.

10. lépés: Intial beállítás

Intial Setup
Intial Setup
Intial Setup
Intial Setup
Intial Setup
Intial Setup

Amit észrevettem a projekt építése során, az az, hogy a szervomotoroknak és a szarvaknak nem kell tökéletesen illeszkedniük ahhoz, hogy viszonylag párhuzamosak maradjanak. Ezért minden szervomotor "középső helyzetét" manuálisan kell beállítani, hogy illeszkedjen a lábakhoz. Ennek érdekében távolítsa el a szervókürtöket minden szervóról, és futtassa a initial_setup.ino vázlatot. Miután a motorok középső helyzetükben elhelyezkedtek, rögzítse újra a szarvakat úgy, hogy a lábak tökéletesen egyenesek legyenek, és a láb tökéletesen párhuzamos legyen a talajjal. Ha ez a helyzet, akkor szerencséje van. Ha nem, nyissa meg a konstans.h fájlt, amely a szomszédos lapon található, és módosítsa a szervo eltolás értékeit (1-6. Sor), amíg a lábak tökéletesen illeszkednek és a láb lapos. Játsszon az értékekkel, és ötletet kap arról, hogy mi szükséges az Ön esetében.

Miután beállította az állandókat, jegyezze fel ezeket az értékeket, mivel később szükség lesz rájuk.

Segítségért nézze meg a képeket.

11. lépés: Egy kicsit a kinematikáról

Egy kicsit a kinematikáról
Egy kicsit a kinematikáról
Egy kicsit a kinematikáról
Egy kicsit a kinematikáról
Egy kicsit a kinematikáról
Egy kicsit a kinematikáról

Ahhoz, hogy a kétlábú hasznos műveleteket végezzen, mint például futás vagy gyaloglás, a különböző járásokat mozgásutak formájában kell programozni. A mozgáspályák olyan utak, amelyek mentén a véghatás (ebben az esetben a lábak) haladnak. Ennek elérésére két módszer létezik:

  1. Az egyik megközelítés a különböző motorok csuklási szögeinek nyers erővel történő előtolása lenne. Ez a megközelítés időigényes, fárasztó és hibákkal is tele lehet, mivel az ítélet pusztán vizuális. Ehelyett van egy okosabb módszer a kívánt eredmények elérésére.
  2. A második megközelítés a véghatás koordinátáinak betáplálása körül forog, az összes csuklószög helyett. Ez az úgynevezett fordított kinematika. A felhasználó bemeneti koordinátákat és az illesztési szögeket úgy állítja be, hogy a véghatást a megadott koordinátákra helyezze. Ez a módszer fekete doboznak tekinthető, amely bemenetként koordinátát vesz fel és adja ki az illesztési szögeket. Azok, akik érdeklődnek a fekete doboz trigonometriai egyenleteinek kidolgozása iránt, megnézhetik a fenti diagramot. Azok számára, akiket nem érdekel, az egyenletek már be vannak programozva, és használhatók a pos függvény használatával, amely x, z bemenetként működik, és három, a motoroknak megfelelő szöget ad ki.

Az ezeket a funkciókat tartalmazó program a következő lépésben található.

12. lépés: Az Arduino programozása

Az Arduino programozása
Az Arduino programozása
Az Arduino programozása
Az Arduino programozása

Az Arduino programozása előtt apró módosításokat kell végrehajtani a fájlon. Emlékszel az állandókra, amelyeket kértem tőled, hogy vegye le a jegyzetet? Módosítsa ugyanazokat az állandókat a constants.h fájlban megadott értékekre.

Megjegyzés: Ha használta az ebben az utasításban szereplő terveket, nincs mit változtatnia. Ha vannak olyanok, akik saját terveket készítettek, akkor még néhány értéket módosítania kell az eltolásokkal együtt. Az l1 konstans a csípő és a térdcsukló közötti távolságot méri. Az l2 állandó a térdcsukló és a bokacsukló közötti távolságot méri. Tehát ha saját modelljét tervezte, mérje meg ezeket a hosszúságokat, és módosítsa az állandókat. Az utolsó két állandót használják a járásokhoz. A stepClearance állandó azt méri, hogy milyen magasra emelkedik a láb, miközben előre lép egy lépés után, a stepHeight konstans pedig a talajtól a csípőig mért magasságot méri, miközben lépéseket tesz.

Miután az összes konstans az Ön igényei szerint módosult, feltöltheti a főprogramot. A főprogram egyszerűen inicializálja a robotot gyalogos testhelyzetbe, és lépéseket tesz előre. A funkciók az Ön igényei szerint módosíthatók, hogy felfedezzék a különböző járásokat, sebességeket és lépéshosszakat, hogy lássák, melyik működik a legjobban.

13. lépés: Végeredmények: ideje kísérletezni

Végeredmények: ideje kísérletezni
Végeredmények: ideje kísérletezni
Végeredmények: ideje kísérletezni
Végeredmények: ideje kísérletezni
Végeredmények: ideje kísérletezni
Végeredmények: ideje kísérletezni

A kétlábúak 10–2 cm hosszú lépéseket tehetnek anélkül, hogy felborulnának. A sebesség is változtatható, miközben a járás kiegyensúlyozott. Ez a kétlábú az Arduino erejével kombinálva robusztus platformot kínál számos más járás és egyéb célkitűzés kísérletezésére, például ugrásra vagy egyensúlyra labda rúgása közben. Azt javaslom, hogy próbálja meg megváltoztatni a lábak mozgási útvonalait, hogy saját járását hozza létre, és fedezze fel, hogy a különböző járások hogyan befolyásolják a robot teljesítményét. Az érzékelők, például az IMU és a távolságérzékelő hozzáadhatók a rendszerhez, hogy növeljék annak funkcióit, míg az erőérzékelők hozzáadhatók a lábakhoz, hogy kísérletezzenek a dinamikus mozgással az egyenetlen felületeken.

Remélem, élvezte ezt az Instructable -t, és elegendő inspiráció a saját készítéséhez. Ha tetszett a projekt, támogassa azt azzal, hogy lead egy szavazatot az "Arduino versenyen".

Boldog készítést!

Arduino verseny 2020
Arduino verseny 2020
Arduino verseny 2020
Arduino verseny 2020

Első díj a 2020 -as Arduino versenyen

Ajánlott: