Innehållsförteckning:

Walking Strandbeest, Java/Python och App Controlled: 4 steg (med bilder)
Walking Strandbeest, Java/Python och App Controlled: 4 steg (med bilder)

Video: Walking Strandbeest, Java/Python och App Controlled: 4 steg (med bilder)

Video: Walking Strandbeest, Java/Python och App Controlled: 4 steg (med bilder)
Video: TrotBot, Klann, Strandbeest, & Strider Linkages in Motion 2024, Juli
Anonim

Av arrowlikeFölj mer av författaren:

Experimentell studie av enkel harmonisk rörelse
Experimentell studie av enkel harmonisk rörelse
Experimentell studie av enkel harmonisk rörelse
Experimentell studie av enkel harmonisk rörelse

Detta Strandbeest -kit är ett DIY -arbete baserat på Strandbeest som uppfanns av Theo Jansen. Förvånad över den geniala mekaniska designen vill jag utrusta den med full manövrerbarhet och nästa datorintelligens. I denna instruerbara arbetar vi med den första delen, manövrerbarhet. Vi täcker också den mekaniska strukturen för datorn med kreditkortstorlek, så att vi kan leka med datorsyn och AI -bearbetning. För att förenkla byggnadsarbetet och eance använde jag inte arduino eller liknande programmerbar dator, istället byggde jag en bluetooth -hårdvarukontroll. Denna handkontroll, som fungerar som terminalen som interagerar med robotmaskinvaran, styrs av ett mer kraftfullt system, till exempel en Android -telefonapp eller RaspberryPi, etc. Kontrollen kan antingen vara mobiltelefon -UI -kontroll eller programmerbar kontroll i python- eller Java -språk. Ett SDK för varje programmeringsspråk har öppen källkod på

Eftersom användarhandboken för mini-Strandbeest är ganska tydlig när det gäller att förklara byggstegen kommer vi i denna instruktion att fokusera på informationen som vanligtvis inte täcks i användarmanualen och de elektriska/elektroniska delarna.

Om vi behöver en mer intuitiv idé om den mekaniska monteringen av detta kit, finns det en hel del bra videor om monteringsämnet, till exempel

Tillbehör

För att konstruera den mekaniska delen och göra all elektrisk anslutning av denna Strandbeest bör det ta mindre än 1 timme att slutföra om väntetiden för 3D -utskrift inte räknas. Det kräver följande delar:

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

(2) 2x DC-motor med växellåda (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 val av kapacitet i mAh)

(5) 12x M2x5.6mm träskruvar

(6) 2 mm diameter kol- eller bambustång

3D -utskrift av följande delar:

(1) 1x robotik huvuddel

(Designfil med 3D -utskrift med endast Bluetooth -kontroller kan laddas ner)

(3D -utskriftsdesignfil med ytterligare OrangePi Nano -nedladdning)

(2) 2x drivaxelfläns (nedladdning av 3D -designfil)

(3) 2x strömsystemsarmatur (nedladdning av designfil i 3D -utskrift)

Andra:

Android mobiltelefon. Gå till Google playstore, sök i M2ROBOTS och installera kontrollappen.

Om det är svårt att komma åt Google playstore, besök min personliga hemsida för alternativ apphämtningsmetod

Steg 1: Delorganisation

Delorganisation
Delorganisation
Delorganisation
Delorganisation
Delorganisation
Delorganisation
Delorganisation
Delorganisation

I detta steg kommer vi att organisera alla delar som ska monteras. Figur 1. visar alla out-of-box-plastdelar som vi använder för att bygga modellen Strandbeest. De tillverkas genom formsprutning, vilket är mycket högeffektivt, jämfört med andra bearbetningsmetoder som 3D -tryck eller fräsning. Det är därför vi vill dra mest nytta av den massproducerade produkten och bara anpassa den minsta mängden delar.

Som visas i figur 2 har varje plastplatta ett märkt alfabet, individuell del har inte märkning. När de väl har tagits isär finns det ingen mer märkning. För att lösa detta problem kan vi lägga delar av samma typ i olika lådor, eller helt enkelt markera flera områden i ett papper och sätta en sorts delar i ett område, se figur 3.

För att klippa av plastdelen från den större plastplattan, är sax och kniv kanske inte lika effektiva och säkra som tången som visas i fig. 4 och 5.

Allt här är tillverkat av plast, förutom att tårmaterialet är gummi, se bild 6. Vi kan skära enligt de färdiga snittarna. Gummimaterialets mjuka karaktär ger strandbeest bättre greppprestanda. Det är särskilt sant när man klättrar i en sluttning. I senare ämnen kan vi testa dess förmåga att klättra i olika lutningsvinkel, med och utan gummitår. När det inte finns någon glidning kallas det statisk friktion. När det tappar greppet blir det kinetisk friktion. Friktionskoefficienten beror på de material som används, det är därför vi har gummitårarna. Hur man utformar ett experiment, räcker upp handen och säger ifrån.

Den sista figuren innehåller "ECU", "Power train" och chassi för denna modell Strandbeest.

Steg 2: Uppmärksamhetsvärda punkter under mekanisk montering

Poäng värda uppmärksamhet under mekanisk montering
Poäng värda uppmärksamhet under mekanisk montering
Poäng värda uppmärksamhet under mekanisk montering
Poäng värda uppmärksamhet under mekanisk montering
Poäng värda uppmärksamhet under mekanisk montering
Poäng värda uppmärksamhet under mekanisk montering

Mini-Strandbeest har en ganska bra bruksanvisning. Det ska vara ett enkelt jobb att följa manualen och slutföra monteringen. Jag hoppar över detta innehåll och lyfter fram några intressanta punkter som är värda vår uppmärksamhet.

I figur 1 är ena sidan av slitsen som håller gummitår 90-graders hörn, medan den andra sidan har en 45-graders lutning, som officiellt kallas fasning. Sådan lutning styr gummitån för att passa in i plastfoten. Prova att installera tårna från sidan med avfasning, se bild 2, prova sedan den andra sidan. Skillnaden är mycket märkbar. Höger sida av figur 3 är veven i vår Stranbeest. Det är väldigt likt veven i en motor, bilmotor, motorcykelmotor, alla delar samma struktur. I ett Strandbeest, när veven vänder, driver den fötterna att röra sig. För en motor är det kolvens rörelse som driver veven att svänga. Sådan 120-graders separation i en cirkel leder också till en trefasmotor eller generator, den elektriska effekten är 120-graders isär, som visas i figur 4. När vi väl har monterat de mekaniska delarna för vänster och höger sidokropp börjar vi nu arbeta med de delar vi lägger till i Strandbeest, se figur 5. Fig. 6 är steget vi använder den 3D-tryckta motorklämman för att fästa motorn på det 3D-tryckta chassit. I detta steg är tricket att ingen av skruvarna ska dras åt innan motorläget justeras så att chassiets sidoyta är densamma som motorns yta. När vi är nöjda med inriktningen kan vi dra åt alla skruvar. Gå vidare till fig. 7, vi arbetar med installationen av flänskopplingen, som ansluter motorutgången till veven. Motorsidan är svårare att installera än vevsidans anslutning, se bild 8. Därför ansluter vi först motorns sidofläns. När flänskopplingen för båda motorerna har installerats, som visas i figur 9, använder vi två stycken kolstänger med en diameter på 2 mm för att ansluta chassit och vänster/höger gångstruktur. Det händer i FIg.10. Totalt använder vi 3 stycken kolstavar för att ansluta dessa enheter. Men i det här steget ansluter vi bara två av dessa, eftersom vi behöver vrida veven och passa anslutningen mellan flänsen och veven. Om 3 bitar kolstänger har varit på plats blir det svårare att justera den relativa positionen och ansluta dem. Slutligen har vi det slutliga monterade mekaniska systemet, i fig. 11. Nästa steg, låt oss arbeta med elektronik.

Steg 3: Elektrisk anslutning

Elektrisk koppling
Elektrisk koppling
Elektrisk koppling
Elektrisk koppling
Elektrisk koppling
Elektrisk koppling

Alla elektroniska system behöver strömförsörjning. Vi kan sätta ett 1-cellars batteri någonstans bekvämt, till exempel under kretskortet i fig 1. Strömförsörjningens polaritet är så kritisk att den förtjänar en särskild siffra att diskutera. Bild 2 belyser batterianslutningen. I styrkortet är polariteten markerad med "+" och "GND", se bild 3. När batteriet tar slut, används en USB -kabel för att ladda batteriet, se bild 4. Lysdioden som indikerar "laddning pågår" stängs av automatiskt när batteriet blir fullt igen. Det sista steget är att ansluta motoruttagen till motoranslutningarna i styrkortet. Det finns tre motorkontakter, märkta med nummer 16 i fig 3. I figur 5 är den vänstra motorn ansluten till den vänsterkontakt som är märkt med PWM12, och den högra motorn är ansluten till den mellersta kontakten. För närvarande är det svårt att koda en tank (differentialdrivande fordon) åt vänster som minskning av motorns ingångseffekt ansluten till motorporten PWM12. Därför bör motorn ansluten till PWM12 -porten driva de vänstra fötterna. Jag kommer senare att konvertera all blandningsfunktion till att vara konfigurerbar av användare. som Genom att byta motoranslutningsval eller vända motorkontaktriktningen kan vi åtgärda problemet, till exempel att Strandbeest rör sig bakåt när det beordras att gå framåt, vrider fel riktning, kom ihåg att DC -motorn ändrar sin rotationsriktning om ingångstråden är ansluten till styrenheten i omvänd ordning.

Steg 4: Appinställningar och drift

Appinställningar och drift
Appinställningar och drift
Appinställningar och drift
Appinställningar och drift
Appinställningar och drift
Appinställningar och drift
Appinställningar och drift
Appinställningar och drift

Vi laddar först ner en Android -app från Google Play Store, se bild 1. Denna app har massor av andra funktioner som vi inte kan täcka i denna instruerbara, vi kommer bara att fokusera på de direkt relaterade ämnena för Strandbeest.

Slå på hårdvarans bluetooth -kontroller, den visas i listan över upptäcktsenheter. Långt klick tar oss till överföringsfunktionen för nedladdning för att "instrueras" senare. Innan vi klickar och startar kontrollen, låt oss göra några konfigurationer först genom att klicka på det övre högra hörnet "Inställningar". I figur 2 är den dold under ikonen…. Fig. 3 visar flera inställningskategorier. Dessa inställningar, konfigurerade i appen, sätts i drift på tre sätt: 1) vissa inställningar påverkar bara Appens funktion, till exempel aritmetik för att få varje motors effektstyrningskommando från din styrning och gasreglage. De bor i appen. I några senare instruktioner kommer vi att visa hur vi ersätter dem med våra Python/Java -program. 2) någon inställning skickas till hårdvaran som en del av kontrollprotokollet i luften, till exempel växlingen mellan direktkontroll (servo vrider exakt den kommenderade vinkeln) och flygning med trådstyrning (den inbyggda autonoma kontrollfunktionsmodulen driver servon kanal enligt användarkommando och nuvarande inställning) 3) någon inställning kommer att skickas till det icke-flyktiga minnet i maskinvarukontrollen. Därför kommer hårdvaran att följa dessa inställningar varje gång den slås på utan att konfigureras. Ett exempel är enhetens Bluetooth -sändningsnamn. Denna typ av inställningar behöver en strömcykel för att träda i kraft. Första kategorin vi dyker in i är "Allmänna inställningar" i Fig.4. "Appkontrollfunktionen" i figur 5 definierar vilken roll den här appen spelar, en styrenhet för hårdvaruenheten över direkt Bluetooth -anslutning; en bro över intranät/internet för telekontroll; och etc. Sedan berättar sidan "HW -typ" i fig. 6 om appen du arbetar med ett differentialkörande fordon, så "tank" -läget måste väljas. Vi har totalt 6 PWM -utgångar tillgängliga. För Strandbeest måste vi konfigurera kanal 1 till 4 enligt figur 7. Varje PWM -kanal drivs i ett av följande lägen: 1) servo normal: RC servo som styrs av 1 till 2ms PWM -signal 2) servo back: regulatorn kommer att vända användarkontrollen för sin utgång 3) DC -motorns driftscykel: a DC motor eller någon elektrisk elektrisk enhet, kan manövreras i driftcykelläge, 0% är avstängning, 100% är alltid på. 4) DC -motorens driftscykel omvänd: återigen kommer regulatorn att vända användarkontrollen för sin utgång Eftersom vi använder likströmsmotor och tar hand om motorns rotationsriktning med hårdvarukablar, väljer vi "DC -motorens arbetscykel" för kanal 1 till 4, se bild 8. Vi måste också slå samman 2 PWM-kanaler till 1 H-bro för att möjliggöra dubbelriktad kontroll. Detta steg visas i fig 9. I läget”2 PWM-kanaler till 1 H-brygga” används kanal 1, 3 och 5 för att styra båda associerade kanalerna. Det introducerar ett behov av att omforma gasreglaget, upp-ned-styrningen av joysticken från dess standardkanal 2 till kanal 3. Det uppnås i Fig.10-inställningar. Såsom visas i fig. 11 är varje kanal konfigurerad att ta en godtycklig ingångskälla.

Bingo, nu har vi slutfört den minimikrav som krävs, och vi kan gå tillbaka till sidan som visar synlig Bluetooth -enhet och få den ansluten. I fig. 12, prova att spela joysticken, så kan vi ha kul med denna Strandbeest. Prova att klättra på en sluttning, kom ihåg analysen av friktion mellan materialtyper och läs flygkontrollens uppskattade inställning, som visas i raden märkt med "RPY (deg)", de fyra posterna i den här raden är rullning, tonhöjd, gaffelvinkel uppskattat av gyroskop och accelerometer ombord; den sista posten är lutkompenserad kompassutgång.

Framtida arbete: i följande instruktioner kommer vi gradvis att täcka dess programmeringsgränssnitt, välja ditt favoritspråk Java eller Python för att interagera med Strandbeest, och inte längre läsa strandbeest status från mobiltelefonens skärm. Vi kommer också att börja programmera i Linux -dator av typen RaspberryPi för mer avancerade programmeringsämnen, se den sista figuren. Kolla https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ för 3D -utskriftsmekaniska delar och https://github.com/xiapeiqing/m2robots.git för SDK och exempelkod om du vill börja omedelbart. Låt mig veta vad ditt önskade programmeringsspråk är om inte Java eller Python, jag kan lägga till en ny version av SDK.

Ha kul med hacking och håll utkik efter följande instruktioner.

Rekommenderad: