Indholdsfortegnelse:

Walking Strandbeest, Java/Python og App Controlled: 4 trin (med billeder)
Walking Strandbeest, Java/Python og App Controlled: 4 trin (med billeder)

Video: Walking Strandbeest, Java/Python og App Controlled: 4 trin (med billeder)

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

Af arrowlikeFølg mere af forfatteren:

Eksperimentel undersøgelse af simpel harmonisk bevægelse
Eksperimentel undersøgelse af simpel harmonisk bevægelse
Eksperimentel undersøgelse af simpel harmonisk bevægelse
Eksperimentel undersøgelse af simpel harmonisk bevægelse

Dette Strandbeest -kit er et DIY -arbejde baseret på Strandbeest opfundet af Theo Jansen. Overrasket over det geniale mekaniske design, vil jeg udstyre det med fuld manøvredygtighed og derefter computerintelligens. I denne instruktive arbejder vi på den første del, manøvredygtighed. Vi dækker også den mekaniske struktur for computeren med kreditkortstørrelse, så vi kan lege med computersyn og AI -behandling. For at forenkle bygningsarbejdet og eance brugte jeg ikke arduino eller lignende programmerbar computer, i stedet byggede jeg en bluetooth hardware controller. Denne controller, der fungerer som terminalen, der interagerer med robothardwaren, styres af et mere kraftfuldt system, f.eks. En Android -telefonapp eller RaspberryPi osv. Kontrollen kan enten være mobiltelefonens UI -kontrol eller programmerbar kontrol i python- eller Java -sprog. Ét SDK for hvert programmeringssprog er open source på

Da mini-Strandbeest-brugermanualen er nogenlunde klar til at forklare byggetrinene, vil vi i denne instruktør fokusere på de oplysninger, der ikke typisk er dækket i brugermanualen, og de elektriske/elektroniske dele.

Hvis vi har brug for en mere intuitiv idé om den mekaniske samling af dette kit, er der et par gode videoer om emnet emne tilgængelige, såsom

Forbrugsvarer

For at konstruere den mekaniske del og foretage al elektrisk forbindelse af denne Strandbeest, bør det tage mindre end 1 time at gennemføre, hvis ventetiden på 3D -print ikke tælles. Det kræver følgende dele:

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

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

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

(4) 1x LiPo -batteri (3,7V, dit valg af kapacitet i mAh)

(5) 12x M2x5.6mm træskruer

(6) 2 mm diameter Carbon eller bambus stang

3D -print følgende dele:

(1) 1x robotik hoveddel

(Designfil med 3D -print med kun bluetooth -controller downloades)

(3D -print designfil med yderligere OrangePi Nano download)

(2) 2x Drivakselflange (3D -print designfil download)

(3) 2x strømsystemarmatur (download af 3D -printdesignfil)

Andre:

Android mobiltelefon. Gå til Google playstore, søg i M2ROBOTS og installer kontrol -appen.

Hvis det er svært at få adgang til Google playstore, kan du besøge min personlige hjemmeside for at få en alternativ app -downloadmetode

Trin 1: Deleorganisation

Dele organisation
Dele organisation
Dele organisation
Dele organisation
Dele organisation
Dele organisation
Dele organisation
Dele organisation

I dette trin organiserer vi alle de dele, der skal samles. Fig.1. viser alle de out-of-box plastikdele, vi bruger til at bygge modellen Strandbeest. De fremstilles ved sprøjtestøbning, som er meget højeffektiv i forhold til andre bearbejdningsmetoder såsom 3D -print eller fræsning. Derfor ønsker vi at få størst mulig fordel af det masseproducerede produkt og kun tilpasse den mindste mængde dele.

Som det er vist i figur 2, har hvert stykke plastbræt et mærket alfabet, individuel del har ikke mærket. Når de først er adskilt, er der ikke mere mærkning. For at løse dette problem kan vi lægge dele af samme type i forskellige kasser eller blot markere flere områder i et stykke papir og lægge en slags dele i et område, se figur 3.

For at skære plastdelen af det større plastikplade, er saks og kniv muligvis ikke så effektive og så sikre som tangen vist i figur 4 og 5.

Alt her er lavet af plastik, undtagen at tæernes materiale er gummi, se figur 6. Vi kan skære i henhold til de færdiglavede udskæringer. Gummimaterialets bløde karakter giver strandbeest en bedre gribende ydeevne. Det er især sandt, når man bestiger en skråning. I senere emner kan vi teste dens evne til at klatre i forskellige hældningsvinkler, med og uden gummitæerne. Når der ikke er slip, kaldes det statisk friktion. Når den mister grebet, bliver den til kinetisk friktion. Friktionskoefficienten afhænger af de anvendte materialer, derfor har vi gummitæerne. Sådan designer du et eksperiment, løft din hånd og tal ud.

Den sidste figur indeholder "ECU", "Power train" og chassis af denne model Strandbeest.

Trin 2: Værd at være opmærksom på under mekanisk samling

Værd at være opmærksom på under mekanisk samling
Værd at være opmærksom på under mekanisk samling
Værd at være opmærksom på under mekanisk samling
Værd at være opmærksom på under mekanisk samling
Værd at være opmærksom på under mekanisk samling
Værd at være opmærksom på under mekanisk samling

Mini-Strandbeest har en ret god brugermanual. Det skal være et let job at følge vejledningen og færdiggøre samlingen. Jeg vil springe dette indhold over og fremhæve et par interessante punkter, der er værd at være opmærksomme på.

I figur 1 er den ene side af slidsen, der holder gummitæer, 90 grader hjørne, hvorimod den anden side har en hældning på 45 grader, som officielt kaldes affasning. Sådan hældning styrer gummitåen til at passe ind i plastikfoden. Prøv at installere tæerne fra siden med affasning, se figur 2, og prøv derefter den anden side. Forskellen er meget mærkbar. Højre side af figur 3 er håndsvinget i vores Stranbeest. Det ligner meget håndsvinget i en motor, bilmotor, motorcykelmotor, alle har samme struktur. I et Strandbeest, når håndsvinget drejer, driver det fødderne til at bevæge sig. For en motor er det bevægelsen af stempel, der driver håndsvinget til at dreje. En sådan 120-graders adskillelse i en cirkel fører også til en trefaset motor eller generator, den elektriske effekt er 120-graders fra hinanden, vist i figur 4. Når vi har samlet de mekaniske dele til venstre og højre sidekroppe, begynder vi nu at arbejde på de dele, vi tilføjer til Strandbeest, se figur 5. Fig. 6 er det trin, vi bruger den 3D-trykte motorklemme til at fastgøre motoren til det 3D-trykte chassis. I dette trin er tricket, at ingen af skruerne skal strammes, før motorpositionen justeres, så chassisets sideflade er den samme som motorens overflade. Når vi er tilfredse med justeringen, kan vi stramme alle skruerne. Gå videre til figur 7, vi arbejder på installationen af flangekoblingen, der forbinder motorens udgang med kranken. Motorsiden er sværere at installere end kranksiden, se figur 8. Derfor forbinder vi først motorens sideflange. Når flangekoblingen for begge motorer er installeret, som det er vist i figur 9, bruger vi to stykker carbonstænger med en diameter på 2 mm til at forbinde chassiset og venstre/højre gangstruktur. Det sker i FIg.10. I alt bruger vi 3 stykker kulstænger til at forbinde disse enheder. Men i dette trin forbinder vi kun to af disse, fordi vi skal dreje håndsvinget og passe til forbindelsen mellem flangen og kranken. Hvis 3 stykker kulstænger har været på plads, vil det være sværere at justere den relative position og forbinde dem. Endelig har vi det sidste samlede mekaniske system, i figur 11. Næste trin, lad os arbejde med elektronik.

Trin 3: Elektrisk forbindelse

Elektrisk tilslutning
Elektrisk tilslutning
Elektrisk tilslutning
Elektrisk tilslutning
Elektrisk tilslutning
Elektrisk tilslutning

Alle elektroniske systemer har brug for strømforsyning. Vi kan sætte et 1-cellet batteri et sted, der er bekvemt, for eksempel under kredsløbskortet i figur 1. Strømforsyningens polaritet er så kritisk, at det fortjener en dedikeret figur at diskutere. Fig. 2 fremhæver batteriforbindelsen. I styrekortet er polariteten markeret med "+" og "GND", se figur 3. Når batteriet løber tør for juice, bruges et USB -kabel til at genoplade batteriet, se figur 4. Lysdioden, der angiver "genopladning i gang", slukkes automatisk, når batteriet igen er fuldt. Det sidste trin er at tilslutte motorudtagene til motorstikkene i styrekortet. Der findes 3 motorstik, mærket med nummer 16 i figur 3. I figur 5 er den venstre motor forbundet til det stik til venstre, der er mærket med PWM12, og højre motor er forbundet til det midterste stik. I øjeblikket er det hårdt kodet at dreje en tank (differentialkøretøj) til venstre som reduktion af motorindgangseffekt forbundet til PWM12 motorport. Derfor bør motor tilsluttet PWM12 -port drive de venstre fødder. Jeg vil senere konvertere al blandingsfunktionen til at blive konfigureret af brugeren. som Ved at skifte valg af motorstik eller vende motorstikretningen, kan vi løse problemet, f.eks. at Strandbeest bevæger sig baglæns, når det beordres at bevæge sig fremad, drejer den forkerte retning, husk, at DC -motoren ændrer sin rotationsretning, hvis indgangstråden er tilsluttet styreeffekten i omvendt rækkefølge.

Trin 4: Appindstillinger og betjening

Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening
Appindstillinger og betjening

Vi downloader først en Android -app fra Google Play Butik, se figur 1. Denne app har masser af andre funktionaliteter, som vi ikke kan dække i denne instruktive, vi fokuserer kun på de direkte relaterede emner for Strandbeest.

Tænd hardware -bluetooth -controlleren, den vises på listen over opdagelsesenheder. Langt klik vil bringe os til over-the-air download-funktionen for at blive "instrueret" senere. Før vi klikker og starter kontrol, lad os lave nogle konfigurationer først ved at klikke på øverste højre hjørne "Indstillinger". I figur 2 er det skjult under ikonet…. Fig. 3 viser flere indstillingskategorier. Disse indstillinger, der er konfigureret i appen, sættes i gang på tre måder: 1) nogle indstillinger påvirker kun appens drift, f.eks. Aritmetik for at få hver motors strømstyringskommando fra din styre- og gasstyringskommando. De bor i appen. I nogle senere instruktioner vil vi vise, hvordan vi erstatter dem med vores Python/Java -programmer. 2) en eller anden indstilling sendes til hardwaren som en del af kontrolprotokollen i luften, såsom skift mellem direkte kontrol (servo drejer nøjagtigt den vinklede kommando) og flyve med trådstyring (det indbyggede autonome controller -funktionsmodul driver servoen kanal i henhold til brugerkommandoen og den aktuelle holdning) 3) nogle indstillinger vil blive sendt til den ikke-flygtige hukommelse i hardware-controlleren. Derfor vil hardwaren følge disse indstillinger hver gang den tændes uden at blive konfigureret. Et eksempel vil være enhedens Bluetooth -udsendelsesnavn. Denne form for indstillinger har brug for en strømcyklus for at træde i kraft. Første kategori, vi dykker ned i, er "Generelle indstillinger" i figur 4. "App -kontrolfunktionen" i figur 5 definerer, hvilken rolle denne app spiller, en controller til hardwareenheden via direkte bluetooth -forbindelse; en bro over intranet/internet til telekontrol; osv. Siden "HW -type" i fig. 6 fortæller den app, du arbejder med et differentialet køretøj, så "tank" -tilstand skal vælges. Vi har i alt 6 PWM -output tilgængelige. For Strandbeest skal vi konfigurere kanal 1 til 4 i henhold til figur 7. Hver PWM -kanal betjenes i en af følgende tilstande: 1) servo normal: RC servo styret af 1 til 2ms PWM signal 2) servo reverse: controlleren vender brugerstyringen for sin output 3) DC motor driftscyklus: a DC motor eller en eller anden elektrisk elektrisk enhed, kan betjenes i driftscyklustilstand, 0% er slukket, 100% er altid tændt. 4) DC -motorens driftscyklus omvendt: igen vender controlleren brugerkontrollen for sin output Da vi bruger DC -motor og tager os af motorens rotationsretning ved hardware -ledningsrekkefølge, vælger vi “DC motor duty cycle” for kanal 1 til 4, se figur 8. Vi skal også flette 2 PWM-kanaler til 1 H-bro for at muliggøre tovejskontrol. Dette trin er vist i figur 9. I tilstanden "2 PWM-kanaler til 1 H-bro" bruges kanal 1, 3 og 5 til at styre begge tilknyttede kanaler. Det introducerer et behov for at omlægge gashåndtaget, op-ned-styringen af joysticket fra standardkanal 2 til kanal 3. Det opnås i fig. 10-indstillinger. Som det er vist i fig. 11, er hver kanal konfigureret til at tage en vilkårlig inputkilde.

Bingo, nu har vi gennemført den mindste nødvendige konfiguration, og vi kan komme tilbage til siden, der viser synlig bluetooth -enhed og få den tilsluttet. I figur 12, prøv at spille joysticket, og vi kan have det sjovt med denne Strandbeest. Prøv at klatre på en skråning, husk analysen af friktion mellem materialetyper, og læs flyvekontrollantens estimerede holdning, der er vist i rækken mærket med "RPY (deg)", de fire poster i denne række er rulle, pitch, yaw vinkel estimeret af gyroskopet og accelerometeret om bord; den sidste indtastning er vippekompenseret kompasoutput.

Fremtidigt arbejde: I de følgende instruktioner vil vi gradvist dække dets programmeringsgrænseflade, vælge dit yndlingssprog Java eller Python til at interagere med Strandbeest og ikke længere læse strandbeest -status fra mobiltelefonens skærm. Vi vil også begynde at programmere i Linux -computeren af RaspberryPi -typen for mere avancerede programmeringsemner, se den sidste figur. Check https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ for 3D -print mekaniske dele og https://github.com/xiapeiqing/m2robots.git for SDK og eksempelkode, hvis du vil starte med det samme. Lad mig vide, hvad dit ønskede programmeringssprog er, hvis ikke Java eller Python, kan jeg tilføje ny version af SDK.

God fornøjelse med hacking og følg med på følgende instruktioner.

Anbefalede: