Tartalomjegyzék:

Walking Strandbeest, Java/Python és alkalmazásvezérelt: 4 lépés (képekkel)
Walking Strandbeest, Java/Python és alkalmazásvezérelt: 4 lépés (képekkel)

Videó: Walking Strandbeest, Java/Python és alkalmazásvezérelt: 4 lépés (képekkel)

Videó: Walking Strandbeest, Java/Python és alkalmazásvezérelt: 4 lépés (képekkel)
Videó: Plataforma versión 2.0. Micro algoritmo genético en hardware. 2024, November
Anonim

Kövesse a szerző további információit:

Az egyszerű harmonikus mozgás kísérleti vizsgálata
Az egyszerű harmonikus mozgás kísérleti vizsgálata
Az egyszerű harmonikus mozgás kísérleti vizsgálata
Az egyszerű harmonikus mozgás kísérleti vizsgálata

Ez a Strandbeest készlet egy barkácsolás, Theo Jansen által feltalált Strandbeest alapján. Lenyűgözve a zseniális mechanikus kialakítással, teljes manőverező képességgel szeretném felszerelni, és ezután a számítógépes intelligenciával. Ebben az oktathatóban dolgozunk az első részen, a manőverezhetőségen. Kitérünk a hitelkártya méretű számítógép mechanikai felépítésére is, hogy játszhassunk a számítógépes látással és az AI feldolgozással. Az építési munka egyszerűsítése érdekében nem arduino -t vagy hasonló programozható számítógépet használtam, hanem bluetooth hardvervezérlőt építek. Ezt a vezérlőt, amely a robot hardverrel kölcsönhatásba lépő terminálként működik, egy erősebb rendszer vezérli, például egy androidos telefonos alkalmazás vagy a RaspberryPi, stb. A vezérlés lehet mobiltelefon -kezelőfelület -vezérlés, vagy programozható vezérlés python vagy Java nyelven. Minden programozási nyelvhez egy SDK nyílt forráskódú, a https://github.com/xiapeiqing/m2robots.git címen.

Mivel a mini-Strandbeest felhasználói kézikönyv meglehetősen egyértelműen megmagyarázza az építési lépéseket, ebben az utasításban azokra az információkra fogunk összpontosítani, amelyeket a felhasználói kézikönyv általában nem tartalmaz, valamint az elektromos/elektronikus alkatrészekre.

Ha intuitívabb ötletre van szükségünk ennek a készletnek a mechanikus összeszerelésével kapcsolatban, akkor jó néhány jó videó érhető el az összeszerelés témájában, például:

Kellékek

A Strandbeest mechanikus részének megépítéséhez és minden elektromos csatlakoztatásához kevesebb mint 1 órát kell várnia, ha a 3D -s nyomtatásra vonatkozó várakozási időt nem veszik figyelembe. Ehhez a következő részek szükségesek:

(1) 1x szabványos Strandbeest készlet (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x egyenáramú motor hajtóművel (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x Bluetooth -vezérlő (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo akkumulátor (3,7 V, választható kapacitás mAh -ban)

(5) 12x M2x5,6 mm -es facsavar

(6) 2 mm átmérőjű karbon vagy bambusz rúd

3D nyomtatással a következő részeket:

(1) 1x robotika fő test

(3D nyomtatási tervfájl letöltése csak Bluetooth -vezérlővel)

(3D nyomtatási tervfájl további OrangePi Nano letöltéssel)

(2) 2x hajtótengely karima (3D nyomtatási tervfájl letöltése)

(3) 2x tápellátó rendszer (3D nyomtatási tervfájl letöltése)

Egyéb:

Android mobiltelefon. Lépjen a Google Play áruházba, keresse meg az M2ROBOTS alkalmazást, és telepítse a vezérlőalkalmazást.

Ha nehéz elérni a Google Play áruházat, keresse fel személyes honlapomat az alternatív alkalmazásletöltési módszerért

1. lépés: Alkatrészek szervezése

Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése
Alkatrészek szervezése

Ebben a lépésben megszervezzük az összes összeszerelendő alkatrészt. 1. ábra. bemutatja az összes dobozon kívüli műanyag alkatrészt, amelyet a Strandbeest modell elkészítéséhez használunk. Fröccsöntéssel készülnek, ami nagyon hatékony, összehasonlítva más megmunkáló gyártási módszerekkel, például a 3D nyomtatással vagy a marással. Ezért szeretnénk a legtöbbet kihozni a tömeggyártású termékből, és csak a legkevesebb alkatrészt testreszabni.

Amint a 2. ábrán látható, minden műanyag tábladarabon feliratos ábécé található, az egyes részeken nincs címkézés. Miután szétszedték őket, nincs több címkézés. A probléma megoldásához behelyezhetjük az azonos típusú alkatrészeket különböző dobozokba, vagy egyszerűen megjelölhetünk több területet egy papírlapon, és egy fajta alkatrészt tehetünk egy területre, lásd a 3. ábrát.

A műanyag rész levágásához a nagyobb szerelési műanyag tábláról az olló és a kés nem lehet olyan hatékony és biztonságos, mint a 4. és 5. ábrán látható fogó.

Itt minden műanyagból készül, kivéve a lábujjak anyagát, gumi, lásd a 6. ábrát. Vághatunk az előre elkészített vágások szerint. A gumi anyag lágy jellege biztosítja a strandbeest jobb tapadási teljesítményét. Különösen igaz ez, ha lejtőn mászunk. A későbbi témákban kipróbálhatjuk más lejtőszögben való mászóképességét, gumi lábujjakkal és anélkül. Ha nincs csúszás, akkor ezt statikus súrlódásnak nevezik. Miután elveszíti a tapadást, kinetikus súrlódássá válik. A súrlódási együttható a felhasznált anyagoktól függ, ezért van a gumi lábujj. Hogyan kell megtervezni egy kísérletet, emelje fel a kezét és beszéljen.

Az utolsó ábra a Strandbeest modell "ECU -ját", "erőátviteli rendszerét" és alvázát tartalmazza.

2. lépés: A mechanikus összeszerelés során figyelmet érdemlő pontok

A mechanikus összeszerelés során figyelmet érdemlő pontok
A mechanikus összeszerelés során figyelmet érdemlő pontok
A mechanikus összeszerelés során figyelmet érdemlő pontok
A mechanikus összeszerelés során figyelmet érdemlő pontok
A mechanikus összeszerelés során figyelmet érdemlő pontok
A mechanikus összeszerelés során figyelmet érdemlő pontok

A mini-Strandbeest meglehetősen jó felhasználói kézikönyvvel rendelkezik. Könnyű feladat lehet a kézikönyv követése és az összeszerelés befejezése. Kihagyom ezeket a tartalmakat, és kiemelek néhány érdekes pontot, amelyekre érdemes odafigyelnünk.

Az 1. ábrán a gumi lábujjakat tartó rés egyik oldala 90 fokos sarok, míg a másik oldalon 45 fokos lejtés, amelyet hivatalosan letörésnek neveznek. Az ilyen lejtés vezeti a gumi lábujjat, hogy illeszkedjen a műanyag lábhoz. Próbálja meg a lábujjakat oldalról lehúzással felszerelni, lásd 2. ábra, majd próbálja meg a másik oldalt is. A különbség nagyon észrevehető. A 3. ábra jobb oldala a Stranbeest forgattyúja. Nagyon hasonlít a forgattyús motorhoz, autómotorhoz, motorkerékpár -motorhoz, mindegyik ugyanazzal a szerkezettel rendelkezik. Egy Strandbeest -ben, amikor a forgattyúkar forog, mozgatásra készteti a lábakat. Egy motor esetében ez a dugattyú mozgása, amely a forgattyút forgatja. Az ilyen 120 fokos körkörös elválasztás egy háromfázisú motorhoz vagy generátorhoz is vezet, az elektromos teljesítmény 120 fokos távolságra van egymástól, amint ez a 4. ábrán látható. Miután összeszereltük a bal és jobb oldali karosszéria mechanikai alkatrészeit, most elkezdünk dolgozni a Strandbeesthez hozzáadott alkatrészeken, lásd az 5. ábrát. A 6. ábra az a lépés, amelyben a 3-D nyomtatott motorbilincset használjuk a motor rögzítéséhez a 3-D nyomtatott házhoz. Ebben a lépésben az a trükk, hogy a csavarok egyikét sem szabad meghúzni, mielőtt a motor helyzetét úgy állítják be, hogy az alváz oldalfelülete megegyezzen a motor felületével. Ha elégedettek vagyunk az igazítással, meghúzhatjuk az összes csavart. Lépjen tovább a 7. ábrára, dolgozunk a karimás tengelykapcsoló telepítésén, a motor kimenetét a forgattyúhoz csatlakoztatva. A motoroldalt nehezebb felszerelni, mint a forgattyús oldali csatlakozást, lásd a 8. ábrát. Ezért először a motor oldali karimáját csatlakoztassuk. Miután mindkét motor karimás csatlakozója fel van szerelve, amint az a 9. ábrán látható, két darab 2 mm átmérőjű szénrúdot használunk az alváz és a bal/jobb járószerkezet összekapcsolására. Ez történik a FIg.10 -ben. Összesen 3 darab szénrúdot használunk ezekhez az entitásokhoz. De ebben a lépésben csak kettőt kötünk össze, mert el kell forgatnunk a forgattyút, és be kell illesztenünk a karima és a forgattyú közötti kapcsolatot. Ha 3 darab szénrúd van a helyén, akkor nehezebb beállítani a relatív helyzetet és csatlakoztatni őket. Végül megvan a végső összeszerelt mechanikus rendszer, a 11. ábrán. A következő lépés az elektronika.

3. lépés: Elektromos csatlakozás

Elektromos kapcsolat
Elektromos kapcsolat
Elektromos kapcsolat
Elektromos kapcsolat
Elektromos kapcsolat
Elektromos kapcsolat

Minden elektronikus rendszer áramellátást igényel. Egy 1 cellás akkumulátort elhelyezhetünk egy kényelmes helyen, például az 1. ábra szerinti áramköri lap alatt. A tápegység polaritása annyira kritikus, hogy megérdemel egy külön ábrát. A 2. ábra kiemeli az akkumulátor csatlakozását. A vezérlőpanelen a polaritást "+" és "GND" jelzi, lásd a 3. ábrát. Ha az akkumulátor lemerül, akkor USB -kábellel töltse fel az akkumulátort, lásd 4. ábra. Az "újratöltés folyamatban" jelző LED automatikusan kialszik, ha az akkumulátor újra megtelik. Az utolsó lépés a motor kimeneteinek csatlakoztatása a vezérlőpanel motorcsatlakozóihoz. Három motorcsatlakozó létezik, amelyeket a 3. ábra 16. számmal jelöl. Az 5. ábrán a bal motor a PWM12 jelzéssel ellátott bal szélső csatlakozóhoz, a jobb motor pedig a középső csatlakozóhoz van csatlakoztatva. Jelenleg a tartály (differenciálhajtású jármű) balra forgatása a PWM12 motorporthoz csatlakoztatott motor bemeneti teljesítményének csökkenéseként van kódolva. Ezért a PWM12 porthoz csatlakoztatott motornak meg kell hajtania a bal lábakat. Később az összes keverési funkciót felhasználó által konfigurálhatóvá alakítom. mint A motorcsatlakozó kiválasztásának felcserélésével vagy a motorcsatlakozó irányának megfordításával megoldhatjuk a problémát, mint például a Strandbeest, amely előrehaladáskor visszafelé mozog, rossz irányba fordul, ne feledje, hogy a DC motor megváltoztatja a forgásirányát, ha a bemeneti vezeték fordított sorrendben csatlakozik a vezérlő áramellátásához.

4. lépés: Az alkalmazás beállításai és működése

Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése
Az alkalmazás beállításai és működése

Először letöltünk egy androidos alkalmazást a Google Play Áruházból, lásd az 1. ábrát. Ez az alkalmazás számos más funkcióval rendelkezik, amelyeket nem fedhetünk le ebben az utasításban, csak a Strandbeest közvetlenül kapcsolódó témáira összpontosítunk.

Kapcsolja be a hardver bluetooth vezérlőt, ez megjelenik a felfedező eszközök listájában. Hosszú kattintással eljutunk az éteres letöltési funkcióhoz, amelyet később "utasíthatunk". Mielőtt rákattintunk és elindítjuk a vezérlést, először végezzünk el néhány konfigurációt a jobb felső sarokban található "Beállítások" gombra kattintva. A 2. ábrán a… ikon alatt van elrejtve. A 3. ábra több beállítási kategóriát mutat. Ezeket az alkalmazásban konfigurált beállításokat háromféleképpen hajtják végre: 1) egyes beállítások csak az alkalmazás működését befolyásolják, például a számítás, hogy minden motor teljesítményszabályozó parancsát a kormány- és gázszabályozó parancsból kapja meg. Az alkalmazásban élnek. Néhány későbbi utasításban megmutatjuk, hogyan helyettesítjük őket Python/Java programjainkkal. 2) bizonyos beállításokat elküld a hardvernek a levegőben lévő vezérlőprotokoll részeként, például a közvetlen vezérlés (a szervó pontosan a megadott szögbe fordul) és a drótvezérlés közötti váltást (a beépített önálló vezérlő funkciómodul működteti a szervót) csatorna a felhasználói parancsnak és az aktuális hozzáállásnak megfelelően) 3) valamilyen beállítás elküldésre kerül a hardvervezérlő nem illő memóriájába. Ezért a hardver minden bekapcsoláskor követi ezeket a beállításokat konfigurálás nélkül. Példa erre az eszköz Bluetooth -adásneve. Az ilyen beállítások életbe léptetéséhez ciklusra van szükség. Az első kategória, amelybe belemerülünk, az "Általános beállítások" a 4. ábrán. Az 5. ábra „Alkalmazásvezérlő funkciója” határozza meg, hogy az alkalmazás milyen szerepet játszik, a hardver eszköz vezérlője közvetlen Bluetooth -kapcsolaton keresztül; híd az intraneten/interneten keresztül a telepresence -vezérléshez; és így tovább. Ezután a 6. ábra „HW típus” oldala közli az alkalmazással, hogy differenciálművel rendelkező járművel dolgozik, ezért ki kell választani a „tank” üzemmódot. Összesen 6 PWM kimenet áll rendelkezésre. A Strandbeest esetében az 1. - 4. csatornát kell konfigurálnunk a 7. ábra szerint. Minden PWM csatorna a következő módok egyikében működik: 1) szervo normál: RC szervo 1-2 ms PWM jel által vezérelve 2) szervo hátramenet: a vezérlő megfordítja a felhasználói vezérlést a kimenetére 3) DC motor terhelési ciklus: a DC motor vagy valamilyen elektromos elektromos eszköz, működési ciklus üzemmódban működtethető, 0% kikapcsol, 100% mindig be van kapcsolva. 4) Az egyenáramú motor terhelési ciklusának megfordítása: a vezérlő ismét megfordítja a felhasználói vezérlést a kimenethez. Mivel egyenáramú motort használunk, és a motor forgásirányáról gondoskodunk a hardver huzalozási sorrendje alapján, az „egyenáramú motor üzemi ciklust” választjuk az 1 -es csatornához 4, lásd a 8. ábrát. Ezenkívül 2 PWM csatornát kell egyesítenünk 1 H-hídba, hogy lehetővé tegyük a kétirányú vezérlést. Ezt a lépést a 9. ábra mutatja. A „2 PWM csatorna 1 H-híd” módban az 1., 3. és 5. csatorna mindkét társított csatorna vezérlésére szolgál. Ez bevezeti a fojtószelep-szabályozó, a joystick fel-le irányításának átállítását az alapértelmezett 2-es csatornáról a 3-as csatornára. Ezt a 10. ábra beállításaiban lehet elérni. Amint a 11. ábrán látható, minden csatorna úgy van konfigurálva, hogy egy tetszőleges bemeneti forrást vegyen fel.

Bingo, most elvégeztük a minimálisan szükséges konfigurációt, és visszatérhetünk a látható Bluetooth -eszközt bemutató oldalra, és csatlakoztathatjuk azt. A 12. ábrán próbálja meg a joystickot játszani, és szórakozhatunk ezzel a Strandbeest -el. Próbáljon megmászni egy lejtőt, emlékezzen az anyagtípusok közötti súrlódás elemzésére, és olvassa el a repülőgép -irányító becsült hozzáállását, amely az „RPY (deg)” feliratú sorban látható, a sor négy bejegyzése: roll, pitch, billentési szög a giroszkóp és a gyorsulásmérő becslése a fedélzeten; az utolsó bejegyzés a dőléskompenzált iránytű kimenet.

Jövőbeli munka: a következő utasításokban fokozatosan lefedjük programozási felületét, kiválasztjuk a kedvenc nyelvét, a Java -t vagy a Python -ot, hogy kapcsolatba léphessünk a Strandbeesttel, és nem olvassuk tovább a strandbeest állapotát a mobiltelefon képernyőjéről. A RaspberryPi típusú linuxos számítógépen is elkezdjük a programozást a fejlettebb programozási témákhoz, lásd az utolsó ábrát. Ellenőrizze a https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ a 3D nyomtatási mechanikai alkatrészeket, és https://github.com/xiapeiqing/m2robots.git az SDK -t és a példakódot, ha azonnal el szeretné kezdeni.. Hadd tudjam meg, mi a kívánt programozási nyelv, ha nem Java vagy Python, hozzáadhatok az SDK új verzióját.

Jó szórakozást a hackeléshez, és maradjon velünk a következő utasításokhoz.

Ajánlott: