Kazalo:

Walking Strandbeest, Java/Python in aplikacija, nadzorovana: 4 koraki (s slikami)
Walking Strandbeest, Java/Python in aplikacija, nadzorovana: 4 koraki (s slikami)

Video: Walking Strandbeest, Java/Python in aplikacija, nadzorovana: 4 koraki (s slikami)

Video: Walking Strandbeest, Java/Python in aplikacija, nadzorovana: 4 koraki (s slikami)
Video: TrotBot, Klann, Strandbeest, & Strider Linkages in Motion 2024, Julij
Anonim

Avtor arrowlikeSledi več avtorja:

Eksperimentalna študija enostavnega harmoničnega gibanja
Eksperimentalna študija enostavnega harmoničnega gibanja
Eksperimentalna študija enostavnega harmoničnega gibanja
Eksperimentalna študija enostavnega harmoničnega gibanja

Ta komplet Strandbeest je DIY delo, ki temelji na Strandbeestu, ki ga je izumil Theo Jansen. Presenečen nad genialno mehansko zasnovo, ga želim opremiti s popolno okretnostjo, nato pa še računalniško inteligenco. V tem navodilu delamo na prvem delu, okretnosti. Zajemamo tudi mehansko strukturo računalnika velikosti kreditne kartice, tako da se lahko igramo z računalniškim vidom in obdelavo AI. Da bi poenostavili gradbena dela in olajšali, nisem uporabil arduina ali podobnega programabilnega računalnika, namesto tega sem izdelal krmilnik strojne opreme bluetooth. Ta krmilnik, ki deluje kot terminal, ki deluje z robotsko strojno opremo, nadzoruje močnejši sistem, na primer aplikacija za telefon Android ali RaspberryPi itd. Nadzor je lahko bodisi nadzor uporabniškega vmesnika mobilnega telefona, bodisi programirljiv nadzor v jeziku python ali Java. En SDK za vsak programski jezik je odprtokoden, na voljo na

Ker je uporabniški priročnik mini-Strandbeest dokaj jasen pri razlagi gradbenih korakov, se bomo v tem navodilu osredotočili na informacije, ki običajno niso zajete v uporabniškem priročniku, in na električne/elektronske dele.

Če potrebujemo bolj intuitivno predstavo o mehanskem sestavljanju tega kompleta, je na voljo kar nekaj dobrih videoposnetkov na temo montaže, na primer

Zaloge

Če želite sestaviti mehanski del in vzpostaviti vse električne povezave tega Strandbeesta, bo trajalo manj kot 1 uro, če se ne šteje čakalna doba za 3D tiskanje. Zahteva naslednje dele:

(1) 1x standardni komplet Strandbeest (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x enosmerni motor z menjalnikom (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x krmilnik Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo baterija (3,7 V, zmogljivost po izbiri v mAh)

(5) 12x vijaki za les M2x5,6 mm

(6) Karbonska ali bambusova palica premera 2 mm

3D tiskanje naslednjih delov:

(1) 1x glavno ohišje robotike

(Prenesite datoteko za oblikovanje 3D -tiskanja samo s krmilnikom Bluetooth)

(Datoteka za oblikovanje 3D -tiskanja z dodatnim prenosom OrangePi Nano)

(2) 2x prirobnica pogonske gredi (prenos datoteke za oblikovanje 3D tiskanja)

(3) 2x naprava za napajanje (prenos datoteke za oblikovanje 3D tiskanja)

Drugi:

Mobilni telefon Android. Pojdite v trgovino Google Play, poiščite M2ROBOTS in namestite aplikacijo za nadzor.

Če je dostop do trgovine Google Play težko, obiščite mojo osebno domačo stran za drug način prenosa aplikacij

1. korak: Organizacija delov

Organizacija delov
Organizacija delov
Organizacija delov
Organizacija delov
Organizacija delov
Organizacija delov
Organizacija delov
Organizacija delov

V tem koraku bomo organizirali vse dele, ki jih je treba sestaviti. Slika 1. prikazuje vse plastične dele, ki so na voljo za izdelavo modela Strandbeest. Izdelane so z brizganjem, kar je zelo visoko učinkovito v primerjavi z drugimi proizvodnimi metodami strojne obdelave, kot je 3D tiskanje ali rezkanje. Zato želimo čim bolj izkoristiti masovno proizveden izdelek in prilagoditi le najmanjšo količino delov.

Kot je prikazano na sliki 2, ima vsak kos plastične plošče označeno abecedo, posamezni del pa nima oznake. Ko jih ločite, označb ni več. Da bi rešili to težavo, lahko postavimo dele iste vrste v različne škatle ali pa preprosto označimo več področij na listu papirja in postavimo eno vrsto delov na eno področje, glej sliko 3.

Če želite odrezati plastični del z večje montažne plastične plošče, škarje in nož morda niso tako učinkoviti in varni kot klešče, prikazane na slikah 4 in 5.

Vse tukaj je iz plastike, razen materiala prstov iz gume, glej sliko 6. Lahko režemo glede na vnaprej narejene reze. Mehka narava gumijastega materiala zagotavlja boljši oprijem prahu. To še posebej velja pri plezanju po klancu. V kasnejših temah lahko preizkusimo njeno sposobnost plezanja pod različnimi koti nagiba, z ali brez gumijastih prstov. Kadar ni zdrsa, se to imenuje statično trenje. Ko izgubi oprijem, postane kinetično trenje. Koeficient trenja je odvisen od uporabljenih materialov, zato imamo gumijaste prste. Kako oblikovati poskus, dvignite roko in spregovorite.

Zadnja slika vsebuje "ECU", "Pogonski sklop" in podvozje tega modela Strandbeest.

2. korak: Točke, vredne pozornosti med mehansko montažo

Točke, vredne pozornosti med mehansko montažo
Točke, vredne pozornosti med mehansko montažo
Točke, vredne pozornosti med mehansko montažo
Točke, vredne pozornosti med mehansko montažo
Točke, vredne pozornosti med mehansko montažo
Točke, vredne pozornosti med mehansko montažo

Mini-Strandbeest ima precej dober uporabniški priročnik. Slediti priročniku in dokončati montažo bi moralo biti enostavno delo. Te vsebine bom preskočil in izpostavil nekaj zanimivih točk, vrednih naše pozornosti.

Na sliki 1 je ena stran reže, ki drži gumijaste prste, 90-stopinjski kot, druga stran pa 45-stopinjski naklon, ki se uradno imenuje posnetek. Takšen nagib vodi gumijasti prst, da se prilega plastični nogi. Poskusite namestiti prste s strani s poševnico, glejte sliko 2, nato poskusite z druge strani. Razlika je zelo opazna. Desna stran slike 3 je ročica naše Stranbeest. Je zelo podoben ročici motorja, motorja avtomobila, motorja motornih koles, vsi imajo isto strukturo. V Strandbeestu, ko se ročica obrača, poganja noge, da se premikajo. Za motor je gibanje bata, ki poganja ročico. Tako ločevanje 120 stopinj v krogu vodi tudi do trifaznega motorja ali generatorja, električna moč pa je 120 stopinj narazen, prikazano na sliki 4. Ko imamo sestavljene mehanske dele za levo in desno stransko telo, se zdaj lotimo dela, ki ga dodamo Strandbeestu, glej sliko 5. Slika 6 je korak, s katerim uporabimo 3-D tiskano objemko motorja za pritrditev motorja na 3-D tiskano ohišje. V tem koraku je trik v tem, da nobenega od vijakov ne privijte, preden nastavite položaj motorja, tako da bo stranska površina ohišja enaka kot površina motorja. Ko smo zadovoljni s poravnavo, lahko privijemo vse vijake. Premaknite se na sliko 7, delamo na namestitvi prirobnične sklopke, ki poveže izhod motorja z ročico. Stran motorja je težje namestiti kot priključek strani ročice, glej sliko 8. Zato najprej priključimo stransko prirobnico motorja. Ko je prirobnična sklopka za oba motorja nameščena, kot je prikazano na sliki 9, uporabimo dva kosa ogljikovih palic premera 2 mm za povezavo podvozja in leve/desne konstrukcije. To se dogaja v FIg.10. Za povezovanje teh entitet skupaj uporabljamo 3 kose ogljikovih palic. Toda v tem koraku povežemo samo dva od teh, ker moramo obrniti ročico in namestiti povezavo med prirobnico in ročico. Če so nameščeni 3 kosi ogljikovih palic, bo težje prilagoditi relativni položaj in jih povezati. Končno imamo končno sestavljen mehanski sistem, na sliki 11. Naslednji korak, delajmo na elektroniki.

3. korak: Električna povezava

Električna povezava
Električna povezava
Električna povezava
Električna povezava
Električna povezava
Električna povezava

Vsi elektronski sistemi potrebujejo napajanje. 1-celično baterijo lahko postavimo na primerno mesto pod vezje na sliki 1. Polarnost napajanja je tako kritična, da si zasluži posebno številko za razpravo. Slika 2 prikazuje povezavo akumulatorja. Na nadzorni plošči je polarnost označena z "+" in "GND", glej sliko 3. Ko akumulatorju zmanjka soka, se za polnjenje baterije uporabi kabel USB, glejte sliko 4. LED, ki označuje "polnjenje v postopku", se samodejno izklopi, ko se baterija ponovno napolni. Zadnji korak je priključitev vtičnic motorja na priključke motorja na krmilni plošči. Obstajajo 3 motorni priključki, označeni s številko 16 na sliki 3. Na sliki 5 je levi motor priključen na skrajni levi konektor z oznako PWM12, desni motor pa na srednji konektor. Trenutno je obračanje rezervoarja (diferencialno vozeče vozilo) levo strogo kodirano kot zmanjšanje vhodne moči motorja, priključene na motorna vrata PWM12. Zato mora motor, priključen na vrata PWM12, poganjati leve noge. Kasneje bom vse funkcije mešanja pretvoril v uporabniško nastavljive. kot Če zamenjamo izbiro priključka motorja ali obrnemo smer konektorja motorja, lahko odpravimo težavo, na primer, če se Strandbeest premakne nazaj, ko mu ukaže, naj se premakne naprej, obrne napačno smer, ne pozabite, da enosmerni motor spremeni smer vrtenja, če je vhodna žica priključeno na krmilno moč v obratnem vrstnem redu.

4. korak: Nastavitve in delovanje aplikacije

Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije
Nastavitve in delovanje aplikacije

Najprej naložimo aplikacijo za Android iz trgovine Google Play, glej sliko 1. Ta aplikacija ima veliko drugih funkcij, ki jih v tem navodilu ne moremo obravnavati, osredotočili se bomo le na neposredno povezane teme za Strandbeest.

Vklopite strojni krmilnik Bluetooth, prikazan bo na seznamu naprav za odkrivanje. Dolg klik nas pripelje do funkcije za prenos po zraku, ki jo bomo pozneje "poučili". Preden kliknemo in zaženemo nadzor, naredimo nekaj konfiguracij, tako da kliknemo zgornji desni kot »Nastavitve«. Na sliki 2 je skrit pod ikono … Slika 3 prikazuje več kategorij nastavitev. Te nastavitve, konfigurirane v aplikaciji, se izvajajo na tri načine: 1) nekatere nastavitve vplivajo le na delovanje aplikacije, na primer aritmetika, da dobite ukaz za krmiljenje moči vsakega motorja iz ukaza za krmiljenje in plin. Živijo v aplikaciji. V nekaterih kasnejših navodilih bomo pokazali, kako jih zamenjamo s programi Python/Java. 2) nekatere nastavitve se pošljejo strojni opremi kot del krmilnega protokola v zraku, na primer preklapljanje med neposrednim upravljanjem (servo obrača natančno pod kotom) in krmiljenjem po žici (vgrajen avtonomni funkcijski modul krmilnika upravlja servo kanal glede na uporabniški ukaz in trenutni odnos) 3) nekatere nastavitve bodo poslane v nehlapni pomnilnik v krmilniku strojne opreme. Zato bo strojna oprema sledila tem nastavitvam ob vsakem vklopu, ne da bi bila konfigurirana. Primer bo ime oddajanja Bluetooth prek naprave. Za tovrstne nastavitve je potreben cikel vklopa. Prva kategorija, v katero se potopimo, je "Splošne nastavitve" na sliki 4. »Funkcija nadzora aplikacije« na sliki 5 določa, kakšno vlogo ima ta aplikacija, krmilnik za strojno napravo prek neposredne povezave Bluetooth; most preko intraneta/interneta za nadzor prisotnosti na daljavo; itd. Nato stran »Vrsta HW« na sliki 6 pove aplikaciji, da delate z vozilom z diferencialno vožnjo, zato je treba izbrati način »rezervoar«. Skupaj imamo na voljo 6 izhodov PWM. Za Strandbeest moramo konfigurirati kanal 1 do 4 v skladu s sliko 7. Vsak PWM kanal deluje v enem od naslednjih načinov: 1) servo normalno: servo krmiljenje z 1 do 2 ms PWM signala 2) servo vzvratno: krmilnik bo obrnil uporabniški nadzor za svoj izhod 3) obratovalni cikel motorja DC: a DC motorja ali druge močne električne naprave, lahko deluje v načinu obratovalnega cikla, 0% je izklopljeno, 100% je vedno vklopljeno. 4) DC obratovalni cikel motorja enosmernega toka: znova bo krmilnik obrnil uporabniški nadzor za njegov izhod. Ker uporabljamo enosmerni motor in skrbimo za smer vrtenja motorja po vrstnem redu ožičenja strojne opreme, bomo za kanal 1 izbrali »obratovalni cikel enosmernega motorja« 4, glej sliko 8. Prav tako moramo združiti 2 kanala PWM na 1 H-most, da omogočimo dvosmerni nadzor. Ta korak je prikazan na sliki 9. V načinu »2 kanala PWM na 1 H-most« se kanala 1, 3 in 5 uporabljajo za krmiljenje povezanih kanalov. Uvaja potrebo po prerazporeditvi krmilne ročice za plin, krmilne ročice navzgor in navzdol s privzetega kanala 2 v kanal 3. To je doseženo v nastavitvah na sliki 10. Kot je prikazano na sliki 11, je vsak kanal konfiguriran za sprejem enega poljubnega vhodnega vira.

Bingo, zdaj smo zaključili minimalno zahtevano konfiguracijo in se lahko vrnemo na stran z vidno napravo Bluetooth in jo povežemo. Na sliki 12 poskusite igrati krmilno palčko in s tem Strandbeestom se lahko zabavamo. Poskusite se povzpeti na nekaj pobočja, zapomnite si analizo trenja med vrstami materialov in preberite ocenjeno držo kontrolorja leta, ki je prikazana v vrstici z oznako "RPY (stop.)", Štirje vnosi v tej vrstici so zvit, nagib, kot nagiba ocenjeno z žiroskopom in merilnikom pospeška na vozilu; zadnji vnos je izhod kompasa s kompenzacijo nagiba.

Prihodnje delo: v naslednjih navodilih bomo postopoma pokrili njegov programski vmesnik, izbrali vaš najljubši jezik Java ali Python za interakcijo s Strandbeestom in ne bomo več brali statusa strandbeesta z zaslona mobilnega telefona. Prav tako bomo začeli s programiranjem v računalniku linux tipa RaspberryPi za naprednejše teme programiranja, glej zadnjo sliko. Preverite https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ za mehanske dele 3D tiskanja in https://github.com/xiapeiqing/m2robots.git za SDK in primer kode, če želite začeti takoj. Povejte mi, kateri programski jezik želite, če ne Java ali Python, lahko dodam novo različico SDK -ja.

Zabavajte se s hekanjem in spremljajte naslednja navodila.

Priporočena: