INHOUDSOPGAWE:

Walking Strandbeest, Java/Python en App Controlled: 4 stappe (met foto's)
Walking Strandbeest, Java/Python en App Controlled: 4 stappe (met foto's)

Video: Walking Strandbeest, Java/Python en App Controlled: 4 stappe (met foto's)

Video: Walking Strandbeest, Java/Python en App Controlled: 4 stappe (met foto's)
Video: Strandbeest Initial Steps 2024, November
Anonim

Deur arrowlike Volg meer deur die skrywer:

Eksperimentele studie van eenvoudige harmoniese beweging
Eksperimentele studie van eenvoudige harmoniese beweging
Eksperimentele studie van eenvoudige harmoniese beweging
Eksperimentele studie van eenvoudige harmoniese beweging

Hierdie Strandbeest -kit is 'n DIY -werk gebaseer op die Strandbeest wat deur Theo Jansen uitgevind is. Verbaas oor die geniale meganiese ontwerp, wil ek dit toerus met volledige wendbaarheid, en daarna rekenaarintelligensie. In hierdie instruksies werk ons aan die eerste deel, manoeuvreerbaarheid. Ons dek ook die meganiese struktuur van die rekenaar met 'n kredietkaart, sodat ons kan speel met rekenaarvisie en AI -verwerking. Om die bouwerk en die eenvoud te vergemaklik, het ek nie 'n arduino of soortgelyke programmeerbare rekenaar gebruik nie, maar eerder 'n Bluetooth -hardeware -kontroleerder. Hierdie kontroleerder, wat werk as die terminale wat in wisselwerking is met die robot -hardeware, word beheer deur 'n kragtiger stelsel, soos 'n Android -telefoonprogram of RaspberryPi, ens. Die beheer kan óf die UI -beheer van die selfoon wees, óf die programmeerbare beheer in python- of Java -taal. Een SDK vir elke programmeertaal is open source in

Aangesien die mini-Strandbeest-gebruikershandleiding redelik duidelik is in die verduideliking van die boustappe, sal ons in hierdie instruksies fokus op die inligting wat gewoonlik nie in die gebruikershandleiding behandel word nie, en die elektriese/elektroniese onderdele.

As ons 'n meer intuïtiewe idee nodig het oor die meganiese samestelling van hierdie kit, is daar 'n hele paar goeie video's oor die monteeronderwerp beskikbaar, soos

Voorrade

Om die meganiese onderdeel te bou en die elektriese aansluiting van hierdie Strandbeest te maak, behoort dit minder as 1 uur te neem as die wagtyd vir 3D -druk nie getel word nie. Dit benodig die volgende dele:

(1) 1x standaard Strandbeest-kit (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x DC-motor met ratkas (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

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

(4) 1x LiPo -battery (3,7V, u keuse van kapasiteit in mAh)

(5) 12x M2x5.6mm houtskroewe

(6) Koolstof- of bamboesstaaf met 'n deursnee van 2 mm

3D druk die volgende dele uit:

(1) 1x robotiese hoofliggaam

(Ontwerplêer met 3D -druk met slegs aflaai van Bluetooth -beheerder)

(3D -druk ontwerp lêer met ekstra OrangePi Nano aflaai)

(2) 2x Aandrijfasflens (3D -druk ontwerp lêer aflaai)

(3) 2x kragstelsel (3D -druk ontwerp lêer aflaai)

Ander:

Android -selfoon. Gaan na Google Playstore, soek M2ROBOTS en installeer die beheer -app.

As dit moeilik is om toegang tot Google Playstore te verkry, besoek my persoonlike tuisblad vir 'n alternatiewe aflaai metode

Stap 1: Onderdele -organisasie

Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie
Onderdele Organisasie

In hierdie stap organiseer ons al die dele wat bymekaargemaak moet word. Figuur 1. toon al die buite-boks plastiekonderdele wat ons gebruik om die model Strandbeest te bou. Dit word gemaak deur spuitgietwerk, wat baie doeltreffend is in vergelyking met ander vervaardigingsmetodes soos 3D -druk of frees. Daarom wil ons die meeste voordeel trek uit die massa -vervaardigde produk en slegs die minste hoeveelheid onderdele aanpas.

Soos in figuur 2 getoon word, het elke stuk plastiekbord 'n alfabet met 'n etiket. As hulle eers uitmekaar gehaal is, is daar geen etikettering meer nie. Om hierdie probleem op te los, kan ons dele van dieselfde tipe in verskillende bokse plaas, of eenvoudig verskeie gebiede in 'n stuk papier merk en een soort dele in een gebied plaas, sien Figuur 3.

Om die plastiekgedeelte van die groter plastiekbord af te sny, is 'n skêr en 'n mes dalk nie so doeltreffend en so veilig soos die tang in figuur 4 en 5 nie.

Alles hier is gemaak van plastiek, behalwe dat die materiaal van die tone rubber is, sien figuur 6. Ons kan sny volgens die voorafgemaakte snitte. Die sagte aard van rubbermateriaal bied 'n beter greepvermoë van die strandbees. Dit is veral waar as u teen 'n helling klim. In latere onderwerpe kan ons die vermoë daarvan toets om teen verskillende hellinghoeke te klim, met en sonder die rubber tone. As daar geen glip is nie, word dit statiese wrywing genoem. Sodra dit die greep verloor, word dit kinetiese wrywing. Die wrywingskoëffisiënt hang af van die materiaal wat gebruik word, daarom het ons die rubber tone. Hoe om 'n eksperiment te ontwerp, steek u hand op en praat.

Die laaste figuur bevat die "ECU", "Power train" en die onderstel van hierdie model Strandbeest.

Stap 2: Aandagpunte tydens meganiese montering

Aandagpunte tydens meganiese montering
Aandagpunte tydens meganiese montering
Aandagpunte tydens meganiese montering
Aandagpunte tydens meganiese montering
Aandagpunte tydens meganiese montering
Aandagpunte tydens meganiese montering

Die mini-Strandbeest het 'n redelike goeie gebruikershandleiding. Dit moet 'n maklike taak wees om die handleiding te volg en die samestelling te voltooi. Ek sal hierdie inhoud oorslaan en 'n paar interessante punte beklemtoon wat ons aandag verdien.

In figuur 1 is die een kant van die gleuf met rubberpunte 'n hoek van 90 grade, terwyl die ander kant 'n helling van 45 grade het, wat amptelik afkanting genoem word. Hierdie helling lei die rubber toon om in die plastiekvoet te pas. Installeer die tone van die kant af met afkanting, sien Figuur 2 en probeer dan die ander kant. Die verskil is baie merkbaar. Die regterkant van figuur 3 is die kruk in ons Stranbeest. Dit is baie soortgelyk aan die kruk in 'n enjin, motor en motor, almal het dieselfde struktuur. In 'n Strandbeest, as die kruk draai, dryf dit die voete om te beweeg. Vir 'n enjin is dit die beweging van die suier wat die kruk draai om te draai. So 'n skeiding van 120 grade in 'n sirkel lei ook tot 'n driefasige motor of kragopwekker, die elektriese krag is 120 grade uitmekaar, getoon in figuur 4. Sodra ons die meganiese dele vir die linker- en regterkantliggame almal saamgestel het, begin ons nou werk aan die dele wat ons by die Strandbeest voeg, sien Figuur 5. Figuur 6 is die stap waarmee ons die 3D-gedrukte motorklem gebruik om die motor aan die 3D-gedrukte onderstel vas te maak. In hierdie stap is die truuk dat nie een van die skroewe vasgedraai moet word voordat die motor se posisie aangepas word sodat die syoppervlak van die onderstel dieselfde is as die oppervlak van die motor nie. Sodra ons tevrede is met die belyning, kan ons al die skroewe vasdraai. Gaan na figuur 7, ons werk aan die installering van die flenskoppeling en verbind die motor se uitset met die kruk. Die motorkant is moeiliker om te installeer as die krukasaansluiting, sien Figuur 8. Daarom verbind ons eers die motorflens. Sodra die flenskoppeling vir beide motors geïnstalleer is, soos in figuur 9 getoon word, gebruik ons twee stukke koolstofstawe met 'n deursnee van 2 mm om die onderstel en die linker/regter loopstruktuur te verbind. Dit gebeur in FIg.10. In totaal gebruik ons 3 stukke koolstofstawe om hierdie entiteite met mekaar te verbind. Maar in hierdie stap verbind ons slegs twee hiervan, want ons moet die kruk draai en die verbinding tussen die flens en die kruk pas. As 3 stukke koolstofstawe in plek was, sal dit moeiliker wees om die relatiewe posisie aan te pas en aan te sluit. Uiteindelik het ons die finale saamgestelde meganiese stelsel, in figuur 11. Volgende stap, werk aan elektronika.

Stap 3: Elektriese aansluiting

Elektriese aansluiting
Elektriese aansluiting
Elektriese aansluiting
Elektriese aansluiting
Elektriese aansluiting
Elektriese aansluiting

Alle elektroniese stelsels benodig kragtoevoer. Ons kan 'n 1-selbattery op 'n gerieflike plek plaas, byvoorbeeld onder die printplaat in figuur 1. Die polariteit van die kragtoevoer is so krities dat dit 'n toegewyde figuur verdien om te bespreek. Figuur 2 beklemtoon die batteryverbinding. In die kontroleerderbord word die polariteit gemerk deur "+" en "GND", sien Fig.3. As die battery se sap opraak, word 'n USB -kabel gebruik om die battery te herlaai, sien Fig.4. Die LED wat aandui "herlaai in proses" sal outomaties afgeskakel word wanneer die battery weer vol word. Die laaste stap is om die motorafsetpunte aan te sluit op die motoraansluitings in die beheerbord. Daar bestaan 3 motorverbindings, gemerk met nommer 16 in figuur 3. In figuur 5 is die linkermotor gekoppel aan die koppeling links, gemerk met PWM12, en die regtermotor is aan die middelste aansluiting gekoppel. Tans is dit moeilik om 'n tenk (differensiële bestuursvoertuig) links te draai as 'n afname van die motor se insetkrag wat aan die PWM12-motorpoort gekoppel is. Daarom moet die motor wat aan die PWM12 -poort gekoppel is, die linkervoete aandryf. Ek sal later al die mengfunksies omskakel in die gebruiker om dit te konfigureer. As deur die keuse van die motoraansluiting te ruil of die rigting van die motoraansluiting om te draai, kan ons die probleem oplos, soos dat die Strandbeest agteruit beweeg as hy beveel word om vorentoe te beweeg, die verkeerde rigting te draai, onthou dat die GS -motor sy draairigting verander as die ingangskabel in die omgekeerde volgorde aan die beheerkrag gekoppel.

Stap 4: App -instellings en werking

App -instellings en werking
App -instellings en werking
App -instellings en werking
App -instellings en werking
App -instellings en werking
App -instellings en werking
App -instellings en werking
App -instellings en werking

Ons laai eers 'n Android -app van die Google Play -winkel af, sien Figuur 1. Hierdie app het baie ander funksies wat ons nie in hierdie instruksies kan behandel nie; ons fokus slegs op die direk verwante onderwerpe vir Strandbeest.

Skakel die hardeware -bluetooth -beheerder aan, dit verskyn in die lys met ontdekkingsapparate. Met 'n lang klik sal ons na die aflaai-funksie oor die lug kom om later 'instruktief' te wees. Voordat ons klik en begin met die beheer, laat ons eers 'n paar konfigurasies doen deur in die regter boonste hoek "Instellings" te klik. In figuur 2 is dit versteek onder die … ikoon. Figuur 3 toon verskeie instellingskategorieë. Hierdie instellings, wat in die app gekonfigureer is, word op drie maniere in werking gestel: 1) sommige instellings beïnvloed slegs die werking van die app, soos rekenkunde om elke motor se kragbeheeropdrag uit u stuur- en versnellingsbevel te kry. Hulle woon in die app. In 'n paar latere instruksies sal ons wys hoe ons dit vervang met ons Python/Java -programme. 2) 'n enkele instelling word na die hardeware gestuur as deel van die bedieningsprotokol in die lug, soos die skakel tussen direkte beheer (servo draai presies die hoek wat beveel word) en vlieg deur draadbeheer (die ingeboude outonome beheerfunksiemodule bedien die servo kanaal volgens die gebruikersopdrag en huidige houding) 3) 'n paar instellings sal na die nie-vlugtige geheue in die hardeware-beheerder gestuur word. Daarom sal die hardeware hierdie instellings volg elke keer as dit aangeskakel word sonder om dit te konfigureer. 'N Voorbeeld hiervan is die Bluetooth -uitsendingsnaam van die toestel. Hierdie soort instellings benodig 'n kragsiklus om in werking te tree. Die eerste kategorie waarin ons duik, is die "Algemene instellings" in figuur 4. Die 'App -beheerfunksie' in figuur 5 definieer watter rol hierdie app speel, 'n kontroleerder vir die hardeware -toestel oor 'n direkte Bluetooth -verbinding; 'n brug oor intranet/internet vir telepresence -beheer; en ens. Vervolgens word op die bladsy "HW -tipe" in Fig. 6 die app vertel waarmee u met 'n ewenaar ry, sodat die "tenk" -modus gekies moet word. Ons het in totaal 6 PWM -uitsette beskikbaar. Vir die Strandbeest moet ons kanaal 1 tot 4 volgens figuur 7 opstel. Elke PWM -kanaal word in een van die volgende modusse bedryf: 1) servo normaal: RC servo beheer deur 1 tot 2ms PWM sein 2) servo reverse: die kontroleerder sal die gebruikersbeheer omdraai vir sy uitset 3) GS motor diens siklus: 'n GS motor of 'n elektriese toestel, kan in die siklus gebruik word, 0% is afgeskakel, 100% is altyd aan. 4) GS motor se siklus omgekeerd: weer sal die kontroleerder die gebruikersbeheer vir sy uitset omdraai, aangesien ons 'n gelykstroommotor gebruik en die motor se draairigting sorg vir die bedrading van die hardeware, kies ons 'DC -motor -werkingsiklus' vir kanaal 1 na 4, sien Fig.8. Ons moet ook 2 PWM-kanale saamsmelt tot 1 H-brug om tweerigtingbeheer moontlik te maak. Hierdie stap word in figuur 9 getoon. In die modus "2 PWM-kanale na 1 H-brug" word kanaal 1, 3 en 5 gebruik om beide geassosieerde kanale te beheer. Dit stel 'n behoefte in om die gashendel, die opwaartse beheer van die joystick van sy standaard kanaal 2 na kanaal 3 te verander. Dit word bereik in figuur 10-instellings. Soos in figuur 11 getoon word, is elke kanaal gekonfigureer om een willekeurige invoerbron te neem.

Bingo, nou het ons die minimum vereiste konfigurasie voltooi, en kan ons terugkeer na die bladsy met 'n sigbare Bluetooth -toestel en dit verbind. In figuur 12, probeer om die joystick te speel, en ons kan pret hê met hierdie Strandbeest. Probeer om teen 'n helling te klim, onthou die wrywingsanalise tussen materiaalsoorte en lees die geskatte houding van die vlugkontroleerder, wat in die ry met 'RPY (deg)' aangedui word; die vier inskrywings in hierdie ry is rol, toonhoogte, hoek geraam deur die gyroscoop en versnellingsmeter aan boord; die laaste inskrywing is 'n kantelgekompenseerde kompasuitset.

Toekomstige werk: in die volgende instruksies gaan ons geleidelik oor die programmeerkoppelvlak, kies u u gunsteling taal Java of Python om met die Strandbeest te kommunikeer en lees ons nie meer die status van strandbeest vanaf die selfoonskerm nie. Ons sal ook begin programmeer in die Linux -rekenaar van die RaspberryPi -tipe vir meer gevorderde programmeeronderwerpe, sien die laaste figuur. Check https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ vir die 3D -druk meganiese onderdele en https://github.com/xiapeiqing/m2robots.git vir SDK en voorbeeldkode as u onmiddellik wil begin. Laat my weet wat u gewenste programmeertaal is, indien nie Java of Python nie, kan ek 'n nuwe weergawe van SDK byvoeg.

Geniet dit met inbraak en bly ingelig vir die volgende instruksies.

Aanbeveel: