Innholdsfortegnelse:

Walking Strandbeest, Java/Python og App Controlled: 4 trinn (med bilder)
Walking Strandbeest, Java/Python og App Controlled: 4 trinn (med bilder)

Video: Walking Strandbeest, Java/Python og App Controlled: 4 trinn (med bilder)

Video: Walking Strandbeest, Java/Python og App Controlled: 4 trinn (med bilder)
Video: Blender bpy & arduino robotic arm with inverse kinematic/2-way communication 2024, Desember
Anonim

Av arrowlikeFølg Mer av forfatteren:

Eksperimentell studie av enkel harmonisk bevegelse
Eksperimentell studie av enkel harmonisk bevegelse
Eksperimentell studie av enkel harmonisk bevegelse
Eksperimentell studie av enkel harmonisk bevegelse

Dette Strandbeest -settet er et DIY -verk basert på Strandbeest oppfunnet av Theo Jansen. Overrasket over det geniale mekaniske designet, vil jeg utstyre den med full manøvrerbarhet, og deretter datamaskinintelligens. I denne instruktive, jobber vi med den første delen, manøvrerbarhet. Vi dekker også den mekaniske strukturen for datamaskinen med kredittkortstørrelse, slik at vi kan leke med datasyn og AI -behandling. For å forenkle bygningsarbeidet og eance, brukte jeg ikke arduino eller lignende programmerbar datamaskin, i stedet bygde jeg en Bluetooth -maskinvarekontroller. Denne kontrolleren, som fungerer som terminalen som samhandler med robotmaskinvaren, styres av et kraftigere system, for eksempel en Android -telefonapp eller RaspberryPi, etc. Kontrollen kan enten være UI -kontroll for mobiltelefoner eller programmerbar kontroll i python- eller Java -språk. Én SDK for hvert programmeringsspråk er åpen kildekode tilgjengelig på

Siden brukerhåndboken til mini-Strandbeest er ganske tydelig når det gjelder å forklare byggetrinnene, vil vi i denne instruksen fokusere på informasjonen som vanligvis ikke er dekket i brukermanualen, og de elektriske/elektroniske delene.

Hvis vi trenger en mer intuitiv idé om den mekaniske monteringen av dette settet, er det ganske mange gode videoer om monteringstemaet tilgjengelig, for eksempel

Rekvisita

For å konstruere den mekaniske delen og foreta all elektrisk tilkobling av denne Strandbeest, bør det ta mindre enn 1 time å fullføre hvis ventetiden for 3D -utskrift ikke telles. Det krever følgende deler:

(1) 1x standard Strandbeest-sett (https://webshop.strandbeest.com/ordis-parvus)

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

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

(4) 1x LiPo -batteri (3,7V, ditt valg av kapasitet i mAh)

(5) 12x M2x5.6mm treskruer

(6) 2 mm diameter karbon- eller bambusstang

3D -utskrift av følgende deler:

(1) 1 x robotikkens hoveddel

(Designfil med 3D -utskrift med bare Bluetooth -kontroller kan bare lastes ned)

(3D -utskriftsdesignfil med ytterligere OrangePi Nano -nedlasting)

(2) 2x drivakselflens (nedlasting av designfil i 3D -utskrift)

(3) 2x strømsystemarmatur (nedlasting av designfil i 3D -utskrift)

Andre:

Android mobiltelefon. Gå til Google playstore, søk i M2ROBOTS og installer kontrollappen.

Hvis det er vanskelig å få tilgang til Google playstore, kan du besøke min personlige hjemmeside for en alternativ nedlastingsmetode

Trinn 1: Delorganisasjon

Delorganisasjon
Delorganisasjon
Delorganisasjon
Delorganisasjon
Delorganisasjon
Delorganisasjon
Delorganisasjon
Delorganisasjon

I dette trinnet vil vi organisere alle delene som skal monteres. Figur 1. viser alle de utvendige plastdelene vi bruker til å bygge modellen Strandbeest. De lages ved sprøytestøping, som er svært høy effektiv, sammenlignet med andre bearbeidingsmetoder for bearbeiding som 3D -utskrift eller fresing. Derfor ønsker vi å dra størst mulig fordel av det masseproduserte produktet, og bare tilpasse den minste mengden deler.

Som det er vist i figur 2, har hvert stykke plastbrett et merket alfabet, individuell del har ikke merkingen. Når de først er tatt fra hverandre, er det ikke mer merking. For å løse dette problemet kan vi legge deler av samme type i forskjellige esker, eller ganske enkelt merke flere områder i et stykke papir og legge en slags deler i ett område, se figur 3.

For å kutte plastdelen av det større plastplaten, er saks og kniv kanskje ikke like effektive og like sikre som tangen vist på figur 4 og 5.

Alt her er laget av plast, bortsett fra at tærne er av gummi, se figur 6. Vi kan kutte i henhold til de ferdiglagde kuttene. Den myke naturen til gummimateriale gir bedre gripegenskaper for strandbeest. Det er spesielt sant når du bestiger en skråning. I senere emner kan vi teste evnen til å klatre i forskjellige skråningsvinkler, med og uten gummitær. Når det ikke er noen slip, kalles det statisk friksjon. Når den mister grepet, blir den kinetisk friksjon. Friksjonskoeffisienten avhenger av materialene som brukes, derfor har vi gummitærne. Hvordan lage et eksperiment, løft hånden og si ifra.

Den siste figuren inneholder "ECU", "Power train" og chassis av denne modellen Strandbeest.

Trinn 2: Poeng verdt å være oppmerksom på under mekanisk montering

Poeng verdt å være oppmerksom på under mekanisk montering
Poeng verdt å være oppmerksom på under mekanisk montering
Poeng verdt å være oppmerksom på under mekanisk montering
Poeng verdt å være oppmerksom på under mekanisk montering
Poeng verdt å være oppmerksom på under mekanisk montering
Poeng verdt å være oppmerksom på under mekanisk montering

Mini-Strandbeest har en ganske god brukermanual. Det bør være en enkel jobb å følge manualen og fullføre monteringen. Jeg vil hoppe over dette innholdet og markere noen interessante punkter som er verdt vår oppmerksomhet.

I figur 1 er den ene siden av sporet som holder gummitær 90 grader hjørne, mens den andre siden har en 45-graders skråning, som offisielt kalles fasning. En slik skråning leder gummitåen for å passe inn i plastfoten. Prøv å installere tærne fra siden med fasing, se figur 2, og prøv deretter den andre siden. Forskjellen er veldig merkbar. Høyre side av figur 3 er sveiven i vår Stranbeest. Det ligner veldig på sveiven i en motor, bilmotor, motorsykkelmotor, alle har samme struktur. I en Strandbeest, når sveiven snur, driver den føttene til å bevege seg. For en motor er det bevegelsen av stempelet som driver sveiven for å snu. Slik 120-graders separasjon i en sirkel fører også til en trefaset motor eller generator, den elektriske effekten er 120-graders fra hverandre, vist i figur 4. Når vi har samlet de mekaniske delene til venstre og høyre sidekropp, begynner vi nå å jobbe med delene vi legger til Strandbeest, se figur 5. Fig. 6 er trinnet vi bruker 3D-trykt motorklemme for å feste motoren til det 3D-trykte chassiset. I dette trinnet er trikset at ingen av skruene skal strammes før motorposisjonen justeres slik at sideflaten på chassiset er den samme som motorens overflate. Når vi er fornøyd med justeringen, kan vi stramme alle skruene. Gå videre til figur 7, vi jobber med installasjonen av flenskoblingen, og kobler motorens utgang til veiven. Motorsiden er vanskeligere å installere enn veivsideforbindelsen, se figur 8. Derfor kobler vi først motorens sideflens. Når flenskoblingen for begge motorene er installert, som vist på figur 9, bruker vi to stykker karbonstenger med en diameter på 2 mm for å koble chassiset og venstre/høyre gangstruktur. Det skjer i FIg.10. Totalt bruker vi 3 stykker karbonstenger for å koble disse enhetene. Men i dette trinnet kobler vi bare to av disse, fordi vi trenger å dreie sveiven og passe til forbindelsen mellom flensen og sveiven. Hvis 3 stykker karbonstenger har vært på plass, vil det være vanskeligere å justere den relative posisjonen og koble dem til. Til slutt har vi det siste monterte mekaniske systemet, i figur 11. Neste trinn, la oss jobbe med elektronikk.

Trinn 3: Elektrisk tilkobling

Elektrisk forbindelse
Elektrisk forbindelse
Elektrisk forbindelse
Elektrisk forbindelse
Elektrisk forbindelse
Elektrisk forbindelse

Alle elektroniske systemer trenger strømforsyning. Vi kan sette et 1-cellers batteri et sted som er praktisk, for eksempel under kretskortet i figur 1. Polariteten til strømforsyningen er så kritisk at den fortjener en dedikert figur å diskutere. Fig. 2 fremhever batteritilkoblingen. I kontrollkortet er polariteten markert med "+" og "GND", se figur 3. Når batteriet går tom for juice, brukes en USB -kabel for å lade batteriet, se figur 4. Lysdioden som indikerer "oppladning er i gang" vil slås av automatisk når batteriet blir fullt igjen. Det siste trinnet er å koble motoruttakene til motorkontaktene i kontrollkortet. Det finnes 3 motorkontakter, merket med nummer 16 i figur 3. I figur 5 er venstre motor koblet til kontakten til venstre merket med PWM12, og høyre motor er koblet til den midterste kontakten. For øyeblikket er det vanskelig å kode en tank (differensialkjøretøy) til venstre som reduksjon av motorens inngangseffekt koblet til PWM12 motorport. Derfor bør motor som er koblet til PWM12 -porten drive de venstre føttene. Jeg vil senere konvertere all miksingsfunksjonen til å kunne konfigureres av brukeren. som Ved å bytte valg av motorkontakt eller reversere motorkontaktretningen, kan vi fikse problemet, for eksempel at Strandbeest beveger seg bakover når det blir beordret til å bevege seg fremover, snu feil retning, husk at likestrømsmotoren endrer rotasjonsretningen hvis inngangstråden er koblet til styrekraften i omvendt rekkefølge.

Trinn 4: Appinnstillinger og drift

Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift
Appinnstillinger og drift

Vi laster først ned en Android -app fra Google Play Store, se figur 1. Denne appen har mange andre funksjoner som vi ikke kan dekke i denne instruksen, vi vil bare fokusere på de direkte relaterte temaene for Strandbeest.

Slå på maskinvarens Bluetooth -kontroller, den vil vises i listen over oppdagelsesenheter. Langt klikk vil bringe oss til over-the-air nedlastingsfunksjonen for å bli "instruert" senere. Før vi klikker og starter kontrollen, la oss gjøre noen konfigurasjoner først ved å klikke øverst til høyre "Innstillinger". I figur 2 er den skjult under ikonet…. Fig. 3 viser flere innstillingskategorier. Disse innstillingene, konfigurert i appen, settes i verk på tre måter: 1) noen innstillinger påvirker bare driften av appen, for eksempel aritmetikk for å få hver motors strømstyringskommando fra styre- og gasskommandoen. De bor i appen. I noen senere instrukser vil vi vise hvordan vi erstatter dem med våre Python/Java -programmer. 2) noen innstillinger sendes til maskinvaren som en del av kontrollprotokollen i luften, for eksempel bytte mellom direkte kontroll (servo dreier nøyaktig den vinklede kommandoen) og fly med trådkontroll (den innebygde autonome kontrollfunksjonsmodulen driver servoen kanal i henhold til brukerkommandoen og gjeldende holdning) 3) noen innstillinger vil bli sendt til det ikke-flyktige minnet i maskinvarekontrolleren. Derfor vil maskinvaren følge disse innstillingene hver gang den slås på uten å bli konfigurert. Et eksempel vil være enhetens Bluetooth -kringkastingsnavn. Denne typen innstillinger trenger en kraftsyklus for å tre i kraft. Den første kategorien vi dykker inn i er "Generelle innstillinger" i figur 4. "App -kontrollfunksjonen" i figur 5 definerer hvilken rolle denne appen spiller, en kontroller for maskinvareenheten over direkte Bluetooth -tilkobling; en bro over intranett/internett for telekontroll; og etc. Deretter forteller siden "HW -type" i figur 6 appen du jobber med et differensialkjøretøy, så "tank" -modus må velges. Vi har totalt 6 PWM -utganger tilgjengelig. For Strandbeest må vi konfigurere kanal 1 til 4 i henhold til figur 7. Hver PWM -kanal drives i en av følgende moduser: 1) servo normal: RC servo styrt av 1 til 2ms PWM signal 2) servo reverse: kontrolleren vil reversere brukerkontrollen for utgangen 3) DC motor driftssyklus: a DC motor eller en elektrisk kraftenhet, kan brukes i driftssyklusmodus, 0% er slått av, 100% er alltid på. 4) DC -motorens driftssyklus omvendt: igjen vil kontrolleren reversere brukerkontrollen for utgangen Siden vi bruker likestrømsmotor og tar vare på motorspinnretningen etter maskinvarekoblingsrekkefølge, vil vi velge "DC -motorens syklus" for kanal 1 til 4, se figur 8. Vi må også slå sammen 2 PWM-kanaler til 1 H-bro, for å muliggjøre toveiskontroll. Dette trinnet er vist i figur 9. I modusen "2 PWM-kanaler til 1 H-bro" brukes kanal 1, 3 og 5 for å kontrollere begge tilknyttede kanaler. Det introduserer et behov for å tilpasse gassreguleringen, opp-ned-kontrollen av styrespaken fra standardkanal 2 til kanal 3. Det oppnås i figur 10-innstillinger. Som vist på figur 11, er hver kanal konfigurert til å ta en vilkårlig inngangskilde.

Bingo, nå har vi fullført minimumskonfigurasjonen som kreves, og vi kan komme tilbake til siden som viser synlig Bluetooth -enhet og få den tilkoblet. I figur 12, prøv å spille joysticken, så kan vi ha det gøy med denne Strandbeest. Prøv å klatre på en skråning, husk analysen av friksjon mellom materialtyper, og les flykontrollens estimerte holdning, som er vist i raden merket med "RPY (deg)", de fire oppføringene i denne raden er rull, pitch, gjev vinkel estimert av gyroskopet og akselerometeret ombord; den siste oppføringen er vippekompensert kompassutgang.

Fremtidig arbeid: I de følgende instruksjonene vil vi gradvis dekke programmeringsgrensesnittet, velge ditt favorittspråk Java eller Python for å samhandle med Strandbeest, og ikke lenger lese strandbeest -statusen fra mobiltelefonens skjerm. Vi vil også begynne å programmere i Linux -datamaskinen av RaspberryPi -typen for mer avanserte programmeringsemner, se den siste figuren. Sjekk https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ for mekaniske deler for 3D -utskrift og https://github.com/xiapeiqing/m2robots.git for SDK og eksempelkode hvis du vil starte umiddelbart. Gi meg beskjed om ønsket programmeringsspråk hvis ikke Java eller Python, jeg kan legge til ny versjon av SDK.

Ha det gøy med hacking og følg med på følgende instruksjoner.

Anbefalt: