Indholdsfortegnelse:

3D -trykt Arduino Powered Quadruped Robot: 13 trin (med billeder)
3D -trykt Arduino Powered Quadruped Robot: 13 trin (med billeder)

Video: 3D -trykt Arduino Powered Quadruped Robot: 13 trin (med billeder)

Video: 3D -trykt Arduino Powered Quadruped Robot: 13 trin (med billeder)
Video: Fastest 100 meters by a bipedal robot - 24.73 seconds 🤖 2024, November
Anonim
3D -trykt Arduino Powered Quadruped Robot
3D -trykt Arduino Powered Quadruped Robot
3D -printet Arduino -drevet firdobbelt robot
3D -printet Arduino -drevet firdobbelt robot
3D -trykt Arduino Powered Quadruped Robot
3D -trykt Arduino Powered Quadruped Robot

Fusion 360 -projekter »

Fra de tidligere Instructables kan du sikkert se, at jeg har en dyb interesse for robotprojekter. Efter den forrige Instructable, hvor jeg byggede en robot biped, besluttede jeg at prøve at lave en firdobbelt robot, der kunne efterligne dyr som hunde og katte. I denne instruktionsbog vil jeg vise dig designet og samlingen af den firkantede robot.

Det primære mål under opbygningen af dette projekt var at gøre systemet så robust som muligt, så mens jeg eksperimenterede med forskellige gang- og løbegange, ville jeg ikke konstant skulle bekymre mig om hardwarefejl. Dette tillod mig at skubbe hardwaren til sin grænse og eksperimentere med komplekse gangarter og bevægelser. Et sekundært mål var at gøre de firdobbelte relativt billige ved hjælp af let tilgængelige hobbydele og 3D-print, hvilket muliggjorde hurtig prototyping. Disse to mål tilsammen giver et robust fundament til at udføre forskellige eksperimenter, så man kan udvikle den firdobbelte til mere specifikke krav såsom navigation, forhindring af forhindringer og dynamisk bevægelse.

Tjek videoen vedhæftet ovenfor for at se en hurtig demo af projektet. Følg med for at oprette din egen Arduino Powered Quadruped Robot, og afgiv en stemme i "Make it Move Contest", hvis du kunne lide projektet.

Trin 1: Oversigt og designproces

Oversigt og designproces
Oversigt og designproces
Oversigt og designproces
Oversigt og designproces
Oversigt og designproces
Oversigt og designproces

Den firdobbelte blev designet i Autodesk's gratis at bruge Fusion 360 3d -modelleringssoftware. Jeg begyndte med at importere servomotorer til designet og byggede benene og kroppen omkring dem. Jeg designede beslag til servomotoren, som giver et andet drejepunkt diametralt modsat servomotorens aksel. At have to aksler i hver ende af motoren giver konstruktiv stabilitet i designet og eliminerer enhver skævhed, der kan opstå, når benene tvinges til at tage en vis belastning. Linkene var designet til at holde et leje, mens beslagene brugte en bolt til akslen. Når leddene var monteret på akslerne ved hjælp af en møtrik, ville lejet give et glat og robust drejepunkt på den modsatte side af servomotorakslen.

Et andet mål under udformningen af den firdobbelte var at holde modellen så kompakt som muligt for maksimalt at udnytte det drejningsmoment, servomotorerne leverer. Linkernes dimensioner blev lavet for at opnå et stort bevægelsesområde, samtidig med at den samlede længde blev minimeret. At gøre dem for korte ville få beslagene til at kollidere, reducere bevægelsesområdet og gøre det for langt ville udøve unødvendigt moment på aktuatorerne. Endelig designede jeg robotens krop, som Arduino og andre elektroniske komponenter ville montere på. Jeg har også efterladt yderligere monteringspunkter på det øverste panel for at gøre projektet skalerbart for yderligere forbedringer. En gang kunne tilføje sensorer såsom afstandssensorer, kameraer eller andre aktiverede mekanismer, såsom robotgribere.

Bemærk: Delene er inkluderet i et af følgende trin.

Trin 2: Nødvendige materialer

Nødvendige materialer
Nødvendige materialer
Nødvendige materialer
Nødvendige materialer

Her er listen over alle komponenter og dele, der kræves for at lave din helt egen Arduino Powered Quadruped Robot. Alle dele skal være almindeligt tilgængelige og lette at finde i lokale isenkræmmere eller online.

ELEKTRONIK:

Arduino Uno x 1

Towerpro MG995 servomotor x 12

Arduino Sensor Shield (jeg anbefaler V5 -versionen, men jeg havde V4 -versionen)

Jumper Wires (10 stk.)

MPU6050 IMU (valgfri)

Ultralydssensor (valgfri)

HARDWARE:

Kuglelejer (8x19x7mm, 12 stk.)

M4 møtrikker og bolte

3D -printerfilament (hvis du ikke ejer en 3D -printer, skal der være en 3D -printer i et lokalt arbejdsområde, eller udskrifterne kan udføres online for ganske billigt)

Akrylplader (4 mm)

VÆRKTØJ

3D printer

Laserskærer

De mest betydningsfulde omkostninger ved dette projekt er de 12 servomotorer. Jeg anbefaler at gå til mellemklassen til den høje række version i stedet for at bruge de billige plastik, da de har en tendens til let at gå i stykker. Eksklusive værktøjerne er de samlede omkostninger ved dette projekt cirka 60 $.

Trin 3: Digitalt fremstillede dele

Digitalt fremstillede dele
Digitalt fremstillede dele
Digitalt fremstillede dele
Digitalt fremstillede dele
Digitalt fremstillede dele
Digitalt fremstillede dele

De dele, der kræves til dette projekt, skulle specialdesignes, derfor brugte vi kraften i digitalt fremstillede dele og CAD til at bygge dem. De fleste af delene er 3D -trykte bortset fra nogle få, som er laserskåret i 4 mm akryl. Udskrifterne blev foretaget med 40% fyldning, 2 omkredse, 0,4 mm dyse og en laghøjde på 0,1 mm med PLA. Nogle af delene kræver understøtninger, da de har en kompleks form med udhæng, men understøtningerne er let tilgængelige og kan fjernes ved hjælp af nogle skær. Du kan vælge den farve, du ønsker at vælge filamentet. Nedenfor kan du finde den komplette liste over dele og STL'er til udskrivning af din egen version og 2D -designs til laserskårne dele.

Bemærk: Herfra vil der blive henvist til delene ved hjælp af navnene i den følgende liste.

3D -trykte dele:

  • hofte servobeslag x 2
  • hofte servo beslag spejl x 2
  • knæ servobeslag x 2
  • knæ servo beslag spejl x 2
  • lejeholder x 2
  • lejeholder spejl x 2
  • ben x 4
  • servo horn link x 4
  • lejeled x 4
  • arduino holder x 1
  • afstandssensorholder x 1
  • L-støtte x 4
  • lejebøsning x 4
  • servo horn afstandsstykke x 24

Laserskårne dele:

  • servoholder panel x 2
  • øverste panel x 1

I alt er der 30 dele, der skal 3D -printes eksklusive de forskellige afstandsstykker, og 33 digitalt fremstillede dele i alt. Den samlede udskrivningstid er cirka 30 timer.

Trin 4: Forberedelse af links

Forberedelse af links
Forberedelse af links
Forberedelse af links
Forberedelse af links
Forberedelse af links
Forberedelse af links

Du kan begynde samlingen ved at opsætte nogle dele i begyndelsen, hvilket vil gøre den sidste samlingsproces mere håndterbar. Du kan starte med linket. For at lave lejeled, slib let den indvendige overflade af hullerne til lejet, og skub derefter lejet ind i hullet i begge ender. Sørg for at skubbe lejet ind, indtil den ene side er flush. For at bygge servohornsleddet, tag to cirkulære servohorn og skruerne, der fulgte med dem. Placer hornene på 3D -printet, og sæt de to huller på linje, skru derefter hornet på 3D -printet ved at fastgøre skruen fra 3D -printsiden. Jeg var nødt til at bruge nogle 3D -trykte servohornafstandsstykker, da de leverede skruer var lidt lange og ville krydse servomotorhuset, mens det roterede. Når linkene er bygget, kan du begynde at opsætte de forskellige holdere og beslag.

Gentag dette for alle 4 links af begge typer.

Trin 5: Forberedelse af servobeslagene

Klargøring af servobeslagene
Klargøring af servobeslagene
Klargøring af servobeslagene
Klargøring af servobeslagene
Klargøring af servobeslagene
Klargøring af servobeslagene

For at oprette knæ servobeslaget skal du blot føre en 4 mm bolt gennem hullet og fastgøre det med en møtrik. Dette fungerer som motorens sekundære aksel. Fra hofte -servobeslaget skal du føre to bolte gennem de to huller og fastgøre dem med yderligere to møtrikker. Tag derefter et andet cirkulært servohorn, og fastgør det til den let forhøjede sektion af beslaget ved hjælp af de to skruer, der fulgte med hornene. Endnu en gang vil jeg anbefale dig at bruge servohornsafstandsstykket, så skruerne ikke stikker ind i hullet til servoen. Tag endelig fat i lejeholderdelen og skub et leje ind i hullet. Du skal muligvis let slibe den indvendige overflade for at få en god pasform. Skub derefter et lejeskub ind i lejet mod, at lejeholderstykket bøjer.

Se ovenstående billeder, mens du bygger beslagene. Gentag denne proces for resten af beslagene. De spejlede ligner hinanden, kun alt er spejlet.

Trin 6: Montering af benene

Samling af benene
Samling af benene
Samling af benene
Samling af benene
Samling af benene
Samling af benene
Samling af benene
Samling af benene

Når alle links og beslag er samlet, kan du begynde at bygge robotens fire ben. Start med at fastgøre servoerne på beslagene ved hjælp af 4 x M4 bolte og møtrikker. Sørg for at justere servoens aksel med den fremstående bolt på den anden side.

Forbind derefter hofte -servoen med knæ -servoen ved hjælp af servohorn -forbindelsesstykket. Brug ikke en skrue endnu til at fastgøre hornet på servomotorakslen, da vi muligvis skal justere positionen senere. På den modsatte side monteres lejeleddet, der indeholder de to lejer, på de fremspringende bolte ved hjælp af møtrikker.

Gentag denne proces for resten af de tre ben, og de 4 ben for de firbenede er klar!

Trin 7: Samling af kroppen

Samling af kroppen
Samling af kroppen
Samling af kroppen
Samling af kroppen
Samling af kroppen
Samling af kroppen
Samling af kroppen
Samling af kroppen

Dernæst kan vi fokusere på at bygge robotens krop. Kroppen huser fire servomotorer, der giver benene deres 3. frihedsgrad. Begynd med at bruge 4 x M4 bolte og buts til at fastgøre servoen på det laserskårne servoholderpanel.

Bemærk: Sørg for, at servoen er fastgjort således, at akslen er på ydersiden af stykket, som det ses på billederne ovenfor. Gentag denne proces for resten af de tre servomotorer, og husk orienteringen.

Monter derefter L-understøtninger på begge sider af panelet ved hjælp af to M4 møtrikker og bolte. Dette stykke giver os mulighed for at fastgøre servoholderpanelet til det øverste panel. Gentag denne proces med yderligere to L-understøtninger og det andet servoholderpanel, der holder det andet sæt servomotorer.

Når L -understøtningerne er på plads, skal du bruge flere M4 -møtrikker og -bolte til at fastgøre servoholderpanelet til det øverste panel. Begynd med det ydre sæt møtrikker og bolte (frem og tilbage). De centrale møtrikker og bolte holder også arduinoholderstykket nede. Brug fire møtrikker og bolte til at fastgøre arduinoholderen fra toppen på det øverste panel og juster boltene, så de også går gennem L -støttehullerne. Se billederne vedhæftet ovenfor for at få en nærmere forklaring. Skub til sidst fire møtrikker ind i åbningerne på servoholderpanelerne, og brug bolte til at fastgøre servoholderpanelerne til det øverste panel.

Trin 8: Sæt det hele sammen

Samler det hele
Samler det hele
Samler det hele
Samler det hele
Samler det hele
Samler det hele

Når benene og kroppen er samlet, kan du begynde at fuldføre samlingsprocessen. Monter de fire ben til de fire servoer ved hjælp af servohornene, der var fastgjort til hofte -servobeslaget. Til sidst skal du bruge lejeholderstykkerne til at understøtte hoftebeslagets modsatte aksel. Før akslen gennem lejet, og brug en bolt til at fastgøre den på plads. Fastgør lejeholderne til det øverste panel ved hjælp af to M4 møtrikker og bolte.

Med dette er hardwarenheden til den quaduped klar.

Trin 9: Ledningsføring og kredsløb

Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb
Ledninger og kredsløb

Jeg besluttede mig for at bruge et sensorskærm, der gav forbindelser til servomotorer. Jeg vil anbefale, at du bruger sensorskærmen v5, da den har en indbygget ekstern strømforsyningsport. Den, jeg brugte, havde imidlertid ikke denne mulighed. Når jeg kiggede nærmere på sensorskjoldet, bemærkede jeg, at sensorskjoldet trak strøm fra Arduinos indbyggede 5v pin (hvilket er en frygtelig idé, når det kommer til servomotorer med høj effekt, da du risikerer at beskadige Arduino). Løsningen på dette problem var at bøje 5v -stiften på sensorskærmen ud af vejen, så den ikke ville forbinde til 5v -stiften på Arduino. På denne måde kan vi nu levere ekstern strøm gennem 5v -stiften uden at beskadige Arduino.

Forbindelserne mellem signalstifterne på de 12 servomotorer er angivet i nedenstående tabel.

Bemærk: Hip1Servo refererer til servoen fastgjort til kroppen. Hip2Servo refererer til servoen fastgjort til benet.

Ben 1 (fremad til venstre):

  • Hip1Servo >> 2
  • Hip2Servo >> 3
  • KneeServo >> 4

Ben 2 (fremad til højre):

  • Hip1Servo >> 5
  • Hip2Servo >> 6
  • KneeServo >> 7

Ben 3 (bag til venstre):

  • Hip1Servo >> 8
  • Hip2Servo >> 9
  • KneeServo >> 10

Ben 4 (bagest til højre):

  • Hip1Servo >> 11
  • Hip2Servo >> 12
  • KneeServo >> 13

Trin 10: Første opsætning

Første opsætning
Første opsætning
Første opsætning
Første opsætning

Inden vi begynder at programmere komplekse gangarter og andre bevægelser, skal vi oprette nulpunkterne for hver servo. Dette giver robotten et referencepunkt, som den bruger til at udføre de forskellige bevægelser.

For at undgå skader på robotten kan du fjerne servohornsforbindelserne. Upload derefter den kode, der er vedhæftet nedenfor. Denne kode placerer hver af servoerne på 90 grader. Når servoerne har nået 90-graders position, kan du fastgøre leddene igen, så benene er helt lige, og servoen, der er fastgjort til kroppen, er vinkelret på toppanelet på den firkantede.

På dette tidspunkt, på grund af udformningen af servohornene, er nogle af leddene muligvis stadig ikke helt lige. Løsningen på dette er at justere arrayet zeroPositions, der findes på den fjerde linje i koden. Hvert tal repræsenterer nulpositionen for den tilsvarende servo (rækkefølgen er den samme som den rækkefølge, hvor du har knyttet servoen til Arduino). Juster disse værdier lidt, indtil benene er helt lige.

Bemærk: Her er de værdier, jeg bruger, selvom disse værdier muligvis ikke fungerer for dig:

int zeroPositions [12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};

Trin 11: Lidt om kinematikken

Lidt om kinematikken
Lidt om kinematikken
Lidt om kinematikken
Lidt om kinematikken
Lidt om kinematikken
Lidt om kinematikken

For at få de firdøvede til at udføre nyttige handlinger såsom løb, gang og andre bevægelser, skal servoerne programmeres i form af bevægelsesstier. Bevægelsesstier er stier, langs hvilke endeeffektoren (fødderne i dette tilfælde) bevæger sig langs. Der er to måder at opnå dette på:

  1. En tilgang ville være at fodre de forskellige motorers ledvinkler på en brutal kraft måde. Denne tilgang kan være tidskrævende, kedelig og også fyldt med fejl, da dommen er rent visuel. I stedet er der en smartere måde at opnå de ønskede resultater.
  2. Den anden tilgang drejer sig om fodring af koordinaterne for sluteffektoren i stedet for alle ledvinklerne. Dette er det, der er kendt som Inverse Kinematics. Brugeren indtaster koordinater og ledvinklerne justeres for at placere sluteffektoren ved de angivne koordinater. Denne metode kan betragtes som en sort boks, der tager som input en koordinat og udsender ledvinklerne. For dem, der er interesseret i, hvordan de trigonometriske ligninger i denne sorte boks blev udviklet, kan se på diagrammet ovenfor. For dem, der ikke er interesseret, er ligningerne allerede programmeret og kan bruges ved hjælp af pos -funktionen, der tager som input x, y, z, som er den endelige effektors kartesiske placering og udsender tre vinkler, der svarer til motorerne.

Programmet, der indeholder disse funktioner, findes i det næste trin.

Trin 12: Programmering af Quadruped

Programmering af Quadruped
Programmering af Quadruped

Når ledningerne og initialiseringen er gennemført, kan du programmere robotten og generere seje bevægelsesveje, så robotten udfører interessante opgaver. Inden du fortsætter, skal du ændre den 4. linje i den vedhæftede kode til de værdier, du havde angivet i initialiseringstrinnet. Efter upload af programmet skal robotten begynde at gå. Hvis du bemærker, at nogle af leddene er vendt, kan du blot ændre den tilsvarende retningsværdi i retningsarrayet i linje 5 (hvis det er 1, gør det til -1, og hvis det er -1, gør det til 1).

Trin 13: Endelige resultater: Tid til at eksperimentere

Endelige resultater: Tid til at eksperimentere
Endelige resultater: Tid til at eksperimentere
Endelige resultater: Tid til at eksperimentere
Endelige resultater: Tid til at eksperimentere
Endelige resultater: Tid til at eksperimentere
Endelige resultater: Tid til at eksperimentere

Den firdobbelte robot kan tage trin, der varierer fra 5 til 2 cm lang. Hastigheden kan også varieres, mens gangen holdes i balance. Denne quadruped giver en robust platform til at eksperimentere med forskellige andre gangarter og andre mål, såsom springning eller fuldføre opgaver. Jeg vil anbefale dig at prøve at ændre benenes bevægelsesbaner for at skabe dine egne gangarter og opdage, hvordan forskellige gangarter påvirker robotens ydeevne. Jeg har også efterladt flere monteringspunkter i toppen af robotten for yderligere sensorer, såsom afstandsmålesensorer til forhindring af forhindringer eller IMU for dynamiske gangarter på ujævnt terræn. Man kan også eksperimentere med en ekstra griberarm monteret på toppen af robotten, da robotten er ekstremt stabil og robust og ikke let vælter.

Håber du nød denne Instructable, og det har inspireret dig til at bygge din egen.

Hvis du kunne lide projektet, så støt det ved at droppe en afstemning i "Få det til at flytte konkurrence".

Happy Making!

Få det til at flytte konkurrence 2020
Få det til at flytte konkurrence 2020
Få det til at flytte konkurrence 2020
Få det til at flytte konkurrence 2020

Anden pris i Make it Move Contest 2020

Anbefalede: