Innholdsfortegnelse:
- Trinn 1: Oversikt og designprosess
- Trinn 2: Materialer som trengs
- Trinn 3: Digitalt produserte deler
- Trinn 4: Forberede koblingene
- Trinn 5: Klargjøring av servobeskytter
- Trinn 6: Montering av bena
- Trinn 7: Montering av kroppen
- Trinn 8: Sett alt sammen
- Trinn 9: Kabling og krets
- Trinn 10: Første oppsett
- Trinn 11: Litt om kinematikken
- Trinn 12: Programmering av Quadruped
- Trinn 13: Endelige resultater: Tid til å eksperimentere
Video: 3D -trykt Arduino Powered Quadruped Robot: 13 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Fusion 360 -prosjekter »
Fra de forrige instruksjonene kan du sannsynligvis se at jeg har en dyp interesse for robotprosjekter. Etter den forrige instruksjonsboken hvor jeg bygde en robot tofotet, bestemte jeg meg for å prøve å lage en firdobbelt robot som kunne etterligne dyr som hunder og katter. I denne instruksjonsboken vil jeg vise deg utformingen og monteringen av den firkantede roboten.
Hovedmålet under byggingen av dette prosjektet var å gjøre systemet så robust som mulig, slik at mens jeg eksperimenterer med forskjellige gang- og løpegang, ikke trenger jeg hele tiden å bekymre meg for at maskinvaren svikter. Dette tillot meg å presse maskinvaren til det ytterste og eksperimentere med komplekse gangarter og bevegelser. Et sekundært mål var å gjøre den firdobbelte relativt rimelig ved å bruke lett tilgjengelige hobbydeler og 3D-utskrift som muliggjorde rask prototyping. Disse to målene tilsammen gir et robust grunnlag for å utføre forskjellige eksperimenter, slik at man kan utvikle firbeinte for mer spesifikke krav som navigasjon, hindring av hindringer og dynamisk bevegelse.
Sjekk videoen vedlagt ovenfor for å se en rask demonstrasjon av prosjektet. Følg med for å lage din egen Arduino Powered Quadruped Robot, og avgi stemme i "Make it Move Contest" hvis du likte prosjektet.
Trinn 1: Oversikt og designprosess
Den firdobbelte ble designet i Autodesks gratis å bruke Fusion 360 3d -modelleringsprogramvare. Jeg begynte med å importere servomotorene til designet og bygde bena og kroppen rundt dem. Jeg designet braketter for servomotoren som gir et andre svingpunkt diametralt motsatt servomotorens aksel. Å ha doble aksler i hver ende av motoren gir konstruktiv stabilitet i designet og eliminerer enhver skjevhet som kan oppstå når bena blir belastet. Lenker ble designet for å holde et lager mens brakettene brukte en bolt for akselen. Når koblingene var montert på akslene med en mutter, ville lageret gi et jevnt og robust svingpunkt på motsatt side av servomotorakselen.
Et annet mål under utformingen av den firdobbelte var å holde modellen så kompakt som mulig for å utnytte dreiemomentet fra servomotorene maksimalt. Dimensjonene på leddene ble laget for å oppnå et stort bevegelsesområde, samtidig som den totale lengden ble minimert. Å gjøre dem for korte ville få brakettene til å kollidere, redusere bevegelsesområdet og gjøre det for langt ville utøve unødvendig dreiemoment på aktuatorene. Til slutt designet jeg kroppen til roboten som Arduino og andre elektroniske komponenter skulle monteres på. Jeg har også forlatt flere monteringspunkter på toppanelet for å gjøre prosjektet skalerbart for ytterligere forbedringer. En gang kunne legge til sensorer som avstandssensorer, kameraer eller andre aktiverte mekanismer som robotgripere.
Merk: Delene er inkludert i ett av de følgende trinnene.
Trinn 2: Materialer som trengs
Her er listen over alle komponentene og delene som kreves for å lage din egen Arduino Powered Quadruped Robot. Alle deler skal være allment tilgjengelige og enkle å finne i lokale maskinvarebutikker eller online.
ELEKTRONIKK:
Arduino Uno x 1
Towerpro MG995 servomotor x 12
Arduino Sensor Shield (jeg anbefaler V5 -versjonen, men jeg hadde V4 -versjonen)
Jumper Wires (10 stykker)
MPU6050 IMU (valgfritt)
Ultralydsensor (valgfritt)
MASKIN:
Kullager (8x19x7mm, 12 stykker)
M4 muttere og bolter
3D -skriverfilament (hvis du ikke eier en 3D -skriver, bør det være en 3D -skriver i et lokalt arbeidsområde, eller utskriftene kan gjøres på nettet for ganske billig)
Akrylark (4 mm)
VERKTØY
3D -skriver
Laserskjærer
Den mest betydelige kostnaden for dette prosjektet er de 12 servomotorene. Jeg anbefaler å gå for mellomstore til høye versjoner i stedet for å bruke de billige plastene siden de har en tendens til å brytes lett. Ekskludert verktøyene er den totale kostnaden for dette prosjektet omtrent 60 dollar.
Trinn 3: Digitalt produserte deler
Delene som kreves for dette prosjektet måtte spesialdesignes, derfor brukte vi kraften til digitalt produserte deler og CAD for å bygge dem. De fleste delene er 3D -trykte bortsett fra noen få som er laserskåret i 4 mm akryl. Utskriftene ble laget med 40% fylling, 2 omkretser, 0,4 mm dyse og en laghøyde på 0,1 mm med PLA. Noen av delene krever støtte, siden de har en kompleks form med overheng, men støttene er lett tilgjengelige og kan fjernes ved hjelp av noen kuttere. Du kan velge fargen du ønsker av filamentet. Nedenfor finner du den komplette listen over deler og STL -er for utskrift av din egen versjon og 2D -designene for laserskårne deler.
Merk: Herfra vil delene bli referert til ved å bruke navnene i listen nedenfor.
3D -trykte deler:
- hofte servobeslag x 2
- hofte servo brakett speil x 2
- kne servo brakett x 2
- kne servo brakett speil x 2
- lagerholder x 2
- lagerholder speil x 2
- bein x 4
- servo hornlenke x 4
- bæreledd x 4
- arduino holder x 1
- avstandssensorholder x 1
- L-støtte x 4
- lagerbøsning x 4
- servo horn spacer x 24
Laserskårne deler:
- servoholder panel x 2
- toppanel x 1
Totalt er det 30 deler som må 3D -printes eksklusive de forskjellige avstandsstykkene, og 33 digitalt fabrikerte deler totalt. Den totale utskriftstiden er omtrent 30 timer.
Trinn 4: Forberede koblingene
Du kan begynne monteringen ved å sette opp noen deler i begynnelsen som vil gjøre den siste monteringsprosessen mer håndterbar. Du kan starte med lenken. For å lage lagerlenken, sand den indre overflaten av hullene til lageret lett, og skyv deretter lageret inn i hullet i begge ender. Sørg for å skyve lageret inn til den ene siden er i flukt. For å bygge servohornlenken, ta tak i to sirkulære servohorn og skruene som fulgte med dem. Plasser hornene på 3D -utskriften og sett de to hullene på linje, skru deretter hornet på 3D -utskriften ved å feste skruen fra 3D -utskriftssiden. Jeg måtte bruke noen 3D -trykte servohornsavstandsstykker siden skruene som ble levert var litt lange og ville krysse servomotorhuset mens den roterte. Når koblingene er bygget, kan du begynne å sette opp de forskjellige holderne og brakettene.
Gjenta dette for alle 4 lenker av begge typer.
Trinn 5: Klargjøring av servobeskytter
For å sette opp kneservobeslaget, bare før en 4 mm bolt gjennom hullet og fest den med en mutter. Dette vil fungere som sekundæraksel for motoren. Fra hofteservobeslaget, før to bolter gjennom de to hullene og fest dem med ytterligere to muttere. Ta deretter et annet sirkulært servohorn og fest det til den litt forhøyede delen av braketten med de to skruene som fulgte med hornene. Nok en gang vil jeg anbefale deg å bruke servohornsavstandsstykket slik at skruene ikke stikker inn i gapet for servoen. Ta til slutt tak i lagerholderdelen og skyv et lager inn i hullet. Du må kanskje slipe den indre overflaten lett for å få en god passform. Deretter skyver du et lagertrykk inn i lageret mot at lagerholderstykket bøyes.
Se bildene vedlagt ovenfor mens du bygger brakettene. Gjenta denne prosessen for resten av brakettene. De speilede er like, bare alt er speilet.
Trinn 6: Montering av bena
Når alle koblingene og brakettene er satt sammen, kan du begynne å bygge robotens fire bein. Begynn med å feste servoene på brakettene med 4 x M4 bolter og muttere. Sørg for å justere akselen til servoen med den utstående bolten på den andre siden.
Deretter kobler du hofteservoen til kneservoen ved hjelp av servohornlenkestykket. Ikke bruk en skrue ennå for å feste hornet på servomotorakselen, siden vi kanskje må justere posisjonen senere. På motsatt side monterer du lagerlenken som inneholder de to lagrene på de utstående boltene med muttere.
Gjenta denne prosessen for resten av de tre beina og de fire beina for firbeinene er klare!
Trinn 7: Montering av kroppen
Deretter kan vi fokusere på å bygge robotens kropp. Kroppen huser fire servomotorer som gir beina sin tredje frihetsgrad. Begynn med å bruke 4 x M4 bolter og buts for å feste servoen på laserskåret servoholderpanel.
Merk: Sørg for at servoen er festet slik at akselen er på utsiden av stykket som vist på bildene som er festet ovenfor. Gjenta denne prosessen for resten av de tre servomotorene med tanke på retningen.
Fest deretter L-støtter på begge sider av panelet ved hjelp av to M4 muttere og bolter. Dette stykket tillater oss å sikre servoholderpanelet godt til toppanelet. Gjenta denne prosessen med ytterligere to L-støtter og det andre servoholderpanelet som holder det andre settet med servomotorer.
Når L -støttene er på plass, bruker du flere M4 muttere og bolter for å feste servoholderpanelet til toppanelet. Begynn med det ytre settet med muttere og bolter (mot forsiden og baksiden). De sentrale mutrene og boltene holder også arduinoholderen nede. Bruk fire muttere og bolter til å feste arduinoholderen fra toppen på toppanelet og juster boltene slik at de også går gjennom L -støttehullene. Se bildene vedlagt ovenfor for avklaring. Skyv til slutt fire muttere inn i sporene på servoholderpanelene og bruk bolter for å feste servoholderpanelene til toppanelet.
Trinn 8: Sett alt sammen
Når bena og kroppen er satt sammen kan du begynne å fullføre monteringsprosessen. Monter de fire bena til de fire servoene ved hjelp av servohornene som var festet til hofte -servobeslaget. Til slutt bruker du lagerholderbitene for å støtte motsatt aksel på hoftebraketten. Før akselen gjennom lageret og bruk en bolt for å feste den på plass. Fest lagerholderne til toppanelet med to M4 muttere og bolter.
Med dette er maskinvaremontasjen til quaduped klar.
Trinn 9: Kabling og krets
Jeg bestemte meg for å bruke et sensorskjerm som ga tilkoblinger til servomotorer. Jeg vil anbefale at du bruker sensorskjermen v5 siden den har en innebygd ekstern strømforsyningsport. Den jeg brukte hadde imidlertid ikke dette alternativet. Når jeg så nærmere på sensorskjoldet, la jeg merke til at sensorskjoldet hentet strøm fra Arduinos innebygde 5v -pinne (noe som er en forferdelig idé når det gjelder servomotorer med høy effekt siden du risikerer å skade Arduino). Løsningen på dette problemet var å bøye 5v -pinnen på sensorskjermen ut av veien slik at den ikke kobles til 5v -pinnen på Arduino. På denne måten kan vi nå gi ekstern strøm gjennom 5v -pinnen uten å skade Arduino.
Tilkoblingene til signalpinnene til de 12 servomotorene er angitt i tabellen nedenfor.
Merk: Hip1Servo refererer til servoen festet til kroppen. Hip2Servo refererer til servoen festet til beinet.
Ben 1 (fremover til venstre):
- Hip1Servo >> 2
- Hip2Servo >> 3
- KneeServo >> 4
Ben 2 (frem til høyre):
- Hip1Servo >> 5
- Hip2Servo >> 6
- KneeServo >> 7
Ben 3 (bak til venstre):
- Hip1Servo >> 8
- Hip2Servo >> 9
- KneeServo >> 10
Ben 4 (bak til høyre):
- Hip1Servo >> 11
- Hip2Servo >> 12
- KneeServo >> 13
Trinn 10: Første oppsett
Før vi begynner å programmere komplekse gangarter og andre bevegelser, må vi sette opp nullpunktene til hver servo. Dette gir roboten et referansepunkt som den bruker til å utføre de forskjellige bevegelsene.
For å unngå skader på roboten kan du fjerne servohornlenkene. Last deretter opp koden som er vedlagt nedenfor. Denne koden plasserer hver av servoene på 90 grader. Når servoene har nådd 90-graders posisjon, kan du feste koblingene på nytt slik at beina er helt rette og servoen festet til kroppen er vinkelrett på toppanelet på den firkantede.
På dette tidspunktet, på grunn av utformingen av servohornene, kan det hende at noen av leddene fortsatt ikke er helt rette. Løsningen på dette er å justere zeroPositions -arrayet som finnes på den fjerde linjen i koden. Hvert tall representerer nullposisjonen til den tilsvarende servoen (rekkefølgen er den samme som rekkefølgen du festet servoen til Arduino). Juster disse verdiene litt til beina er helt rette.
Merk: Her er verdiene jeg bruker, selv om disse verdiene kanskje ikke fungerer for deg:
int zeroPositions [12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};
Trinn 11: Litt om kinematikken
For å få de firbeinte til å utføre nyttige handlinger som løping, gåing og andre bevegelser, må servoene programmeres i form av bevegelsesbaner. Bevegelsesbaner er stier langs hvilke endeeffektoren (føttene i dette tilfellet) beveger seg langs. Det er to måter å oppnå dette på:
- En tilnærming ville være å mate leddvinklene til de forskjellige motorene på en brutal kraft måte. Denne tilnærmingen kan være tidkrevende, kjedelig og også fylt med feil siden dommen er rent visuell. I stedet er det en smartere måte å oppnå ønsket resultat.
- Den andre tilnærmingen dreier seg om å mate koordinatene til endeffektoren i stedet for alle leddvinklene. Dette er det som er kjent som Inverse Kinematics. Brukeren legger inn koordinater og leddvinklene justeres for å plassere endeffektoren ved de angitte koordinatene. Denne metoden kan betraktes som en svart boks som tar innganger som koordinat og sender ut felles vinkler. For de som er interessert i hvordan de trigonometriske ligningene til denne svarte boksen ble utviklet, kan de se på diagrammet ovenfor. For de som ikke er interessert, er ligningene allerede programmert og kan brukes ved hjelp av pos -funksjonen som tar som inngang x, y, z, som er den kartesiske plasseringen av endeffektoren og sender ut tre vinkler som tilsvarer motorene.
Programmet som inneholder disse funksjonene finner du i neste trinn.
Trinn 12: Programmering av Quadruped
Når kabling og initialisering er fullført, kan du programmere roboten og generere kule bevegelsesbaner slik at roboten utfører interessante oppgaver. Før du fortsetter, må du endre den fjerde linjen i den vedlagte koden til verdiene du hadde angitt i initialiseringstrinnet. Etter å ha lastet opp programmet, bør roboten begynne å gå. Hvis du merker at noen av leddene er reversert, kan du ganske enkelt endre den tilsvarende retningsverdien i retningsoppsettet på linje 5 (hvis det er 1 gjør det til -1 og hvis det er -1, gjør du det til 1).
Trinn 13: Endelige resultater: Tid til å eksperimentere
Den firdobbelte roboten kan ta trinn som varierer fra 5 til 2 cm lang. Hastigheten kan også varieres samtidig som gangen holdes balansert. Denne quadruped gir en robust plattform for å eksperimentere med forskjellige andre gangarter og andre mål som hopping eller fullføre oppgaver. Jeg vil anbefale deg å prøve å endre bevegelsesbanene til beina for å lage dine egne gangarter og oppdage hvordan ulike gangarter påvirker robotens ytelse. Jeg har også forlatt flere monteringspunkter på toppen av roboten for tilleggssensorer, for eksempel distansemålesensorer for hindring av hindringer eller IMU for dynamiske gangarter på ujevnt terreng. Man kan også eksperimentere med en ekstra gripearm montert på toppen av roboten siden roboten er ekstremt stabil og robust og ikke tipper lett.
Håper du likte denne Instructable og at den har inspirert deg til å bygge din egen.
Hvis du likte prosjektet, støtt det ved å droppe en stemme i "Make it Move Contest".
Happy Making!
Andre pris i Make it Move Contest 2020
Anbefalt:
Quadruped Spider Robot - GC_MK1: 8 trinn (med bilder)
Quadruped Spider Robot - GC_MK1: Edderkopproboten alias GC_MK1 beveger seg fremover og bakover og kan også danse avhengig av koden lastet på Arduino. Roboten bruker 12 mikro servomotorer (SG90); 3 for hvert ben. Kontrolleren som brukes til å kontrollere servomotorene er en Arduino Nan
[DIY] Spider Robot (Quad Robot, Quadruped): 14 trinn (med bilder)
[DIY] Spider Robot (Quad Robot, Quadruped): Hvis du trenger ekstra støtte fra meg, vil det være bedre å gi en passende donasjon til meg: http: //paypal.me/RegisHsu2019-10-10 oppdatering: Den nye kompilatoren vil føre til beregningsproblem med flytende tall. Jeg har allerede endret koden. 2017-03-26
ESP8266 WIFI AP Controlled Quadruped Robot: 15 trinn (med bilder)
ESP8266 WIFI AP Controlled Quadruped Robot: Dette er opplæring for å lage en 12 DOF eller firbenet (firebenet) robot ved bruk av SG90 servo med servodriver, og den kan kontrolleres ved hjelp av WIFI Web -server via smarttelefonleser. Totalkostnaden for dette prosjektet er rundt US $ 55 (For Elektronisk del og Plastic Rob
Cardboard Spider (DIY Quadruped): 13 trinn (med bilder)
Cardboard Spider (DIY Quadruped): Hei igjen og velkommen til mitt nye prosjekt. I denne instruktive har jeg prøvd å gjøre en enkel Quadruped laget av materialer tilgjengelig for alle. Jeg vet at for å få et flott sluttprodukt trenger du en 3d -skriver og kanskje en CNC, men ikke alle
Kontrollerende LED Matrix Array With Arduino Uno (Arduino Powered Robot Face): 4 trinn (med bilder)
Kontrollere LED Matrix Array With Arduino Uno (Arduino Powered Robot Face): Denne instruktøren viser hvordan du styrer en rekke 8x8 LED -matriser ved hjelp av en Arduino Uno. Denne guiden kan brukes til å lage en enkel (og relativt billig skjerm) for dine egne prosjekter. På denne måten kan du vise bokstaver, tall eller tilpassede animasjoner