Innholdsfortegnelse:

Arduino Controlled Robotic Biped: 13 trinn (med bilder)
Arduino Controlled Robotic Biped: 13 trinn (med bilder)

Video: Arduino Controlled Robotic Biped: 13 trinn (med bilder)

Video: Arduino Controlled Robotic Biped: 13 trinn (med bilder)
Video: Arduino Humanoid Robot with Robotic Palms (帶可控手掌之Arduino人形機器人) 2024, Desember
Anonim
Image
Image
Arduino Controlled Robotic Biped
Arduino Controlled Robotic Biped
Arduino Controlled Robotic Biped
Arduino Controlled Robotic Biped

Fusion 360 -prosjekter »

Jeg har alltid vært fascinert av roboter, spesielt den typen som prøver å etterligne menneskelige handlinger. Denne interessen førte til at jeg prøvde å designe og utvikle en robot tofotet som kunne etterligne menneskelig gåing og løping. I denne instruksjonsboken vil jeg vise deg design og montering av robotbipipen.

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øpebaner, trenger jeg ikke å bekymre meg hele tiden for at maskinvaren svikter. Dette tillot meg å presse maskinvaren til det ytterste. Et sekundært mål var å gjøre de tosidede relativt rimelige ved å bruke lett tilgjengelige hobbydeler og 3D-utskrift, slik at det er rom for ytterligere oppgraderinger og utvidelser. Disse to målene tilsammen gir et robust grunnlag for å utføre forskjellige eksperimenter, slik at man kan utvikle de tobeinte til mer spesifikke krav.

Følg med for å lage din egen Arduino -kontrollerte Robotic Biped og avgi en stemme i "Arduino Contest" hvis du likte prosjektet.

Trinn 1: Designprosess

Design prosess
Design prosess
Design prosess
Design prosess
Design prosess
Design prosess

De humanoide benene ble designet i Autodesk's gratis å bruke Fusion 360 3d -modelleringsprogramvare. Jeg begynte med å importere servomotorene til designet og bygde bena 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 bipipene var å beholde 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å.

Merk: Delene er inkludert i ett av de følgende trinnene.

Trinn 2: Arduinoens rolle

Arduinoens rolle
Arduinoens rolle

En Arduino Uno ble brukt i dette prosjektet. Arduino var ansvarlig for å beregne bevegelsesbanene til de forskjellige gangartene som ble testet og instruerte aktuatorene til å bevege seg til presise vinkler med presise hastigheter for å skape en jevn gangbevegelse. En Arduino er et godt valg for å utvikle prosjekter på grunn av sin allsidighet. Den gir en haug med IO -pinner og gir også grensesnitt som seriell, I2C og SPI for å kommunisere med andre mikrokontrollere og sensorer. Arduino gir også en flott plattform for rask prototyping og testing, og gir utviklere også rom for forbedringer og utvidbarhet. I dette prosjektet vil ytterligere versjoner inkludere en treghetsmåleenhet for bevegelsesbehandling som falldeteksjon og dynamisk bevegelse i ujevnt terreng og en avstandsmålesensor for å unngå hindringer.

Arduino IDE ble brukt til dette prosjektet. (Arduino tilbyr også en webbasert IDE)

Merk: Programmene for roboten kan lastes ned fra ett av følgende trinn.

Trinn 3: Nødvendige materialer

Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs

Her er listen over alle komponentene og delene som kreves for å lage din egen Arduino -drevne Bipedal -robot. Alle deler skal være allment tilgjengelige og lette å finne.

ELEKTRONIKK:

Arduino Uno x 1

Towerpro MG995 servomotor x 6

Perfboard (lignende størrelse som Arduino)

Hodestifter for mann og kvinne (omtrent 20 av hver)

Jumper Wires (10 stykker)

MPU6050 IMU (valgfritt)

Ultralydsensor (valgfritt)

MASKIN:

Skateboard Bearing (8x19x7mm)

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)

Eksklusive Arduino og 3D -skriveren er den totale kostnaden for dette prosjektet 20 $.

Trinn 4: 3D -trykte deler

3D -trykte deler
3D -trykte deler
3D -trykte deler
3D -trykte deler
3D -trykte deler
3D -trykte deler
3D -trykte deler
3D -trykte deler

Delene som kreves for dette prosjektet måtte skreddersys, derfor ble en 3D -skriver brukt til å skrive dem ut. Utskriftene ble laget med 40% utfylling, 2 omkretser, 0,4 mm dyse og en laghøyde på 0,1 mm med PLA, farge du ønsker. Nedenfor finner du den komplette listen over deler og STL -er for utskrift av din egen versjon.

Merk: Herfra vil delene bli referert til ved å bruke navnene i listen.

  • fotserverholder x 1
  • fot servo holder speil x 1
  • kne servo holder x 1
  • kne servoholder speil x 1
  • fotserverholder x 1
  • fot servo holder speil x 1
  • bæreledd x 2
  • servo hornlenke x 2
  • fotlenke x 2
  • bro x 1
  • elektronikkfeste x 1
  • elektronikk mellomrom x 8 (valgfritt)
  • servo hornplass x 12 (valgfritt)

Totalt, unntatt avstandsstykkene, er det 14 deler. Den totale utskriftstiden er omtrent 20 timer.

Trinn 5: Klargjøring av servobeskytter

Klargjøring av servobeskytter
Klargjøring av servobeskytter
Klargjøring av servobeskytter
Klargjøring av servobeskytter
Klargjøring av servobeskytter
Klargjøring av servobeskytter

Når alle delene er skrevet ut, kan du begynne med å sette opp servoer og servobeslag. Skyv først et lager inn i kneservoholderen. Passformen skal være tettsittende, men jeg vil anbefale å slipe hullets indre overflate litt i stedet for å tvinge lageret, noe som kan risikere å bryte delen. Før deretter en M4 -bolt gjennom hullet og stram den med en mutter. Ta deretter tak i fotlenken og fest et sirkulært servohorn til det ved hjelp av de medfølgende skruene. Fest fotlenken til kneservoholderen ved hjelp av skruene du vil bruke til også å feste servomotoren. Sørg for å justere motoren slik at akselen er på samme side av bolten du hadde festet tidligere. Fest til slutt servoen med resten av muttere og bolter.

Gjør det samme med hofte servo holderen og fot servo holderen. Med dette bør du ha tre servomotorer og tilhørende braketter.

Merk: Jeg gir instruksjoner for å bygge det ene benet, det andre er rett og slett speilet.

Trinn 6: Lag linkdelene

Å lage koblingsstykkene
Å lage koblingsstykkene
Å lage koblingsstykkene
Å lage koblingsstykkene
Å lage koblingsstykkene
Å lage koblingsstykkene

Når brakettene er montert, begynner du å lage koblingene. For å lage lagerlenken, slipes igjen den indre overflaten av hullene til lageret lett, og skyv deretter lageret inn i hullet på begge sider. Sørg for å skyve lageret inn til den ene siden er i flukt. For å bygge servohornlenken, ta tak i to sirkulære servohorn og de medfølgende skruene. Plasser hornene på 3D -utskriften og sett hullene på linje, skru deretter hornet på 3D -utskriften ved å feste skruen fra 3D -utskriftssiden. Jeg anbefaler å bruke et 3D -trykt servohornsavstandsstykke for disse skruene. Når koblingene er bygget, kan du begynne å montere beinet.

Trinn 7: Montering av bena

Montering av bena
Montering av bena
Montering av bena
Montering av bena
Montering av bena
Montering av bena
Montering av bena
Montering av bena

Når koblingene og brakettene er satt sammen, kan du kombinere dem for å bygge beinet til roboten. Bruk først servohornlenken til å feste hofte -servobeslaget og kne -servobeslaget sammen. Merk: Ikke skru hornet til servoen ennå, da det er et oppsettstrinn i det følgende trinnet, og det vil være en ulempe hvis hornet ble skrudd på servomotoren.

Monter lagerlenken på den motsatte siden på de utstående boltene med muttere. Fest til slutt fotserverbraketten ved å stikke den utstående bolten gjennom lageret på kneservoholderen. Og fest servoakselen til servohornet som er koblet til kneservoholderen på den andre siden. Dette kan være en vanskelig oppgave, og jeg vil anbefale et par andre hender for dette.

Gjenta trinnene for det andre benet. Bruk bildene som er vedlagt hvert trinn som referanse.

Trinn 8: Tilpasset PCB og ledninger

Tilpasset PCB og ledninger
Tilpasset PCB og ledninger
Tilpasset PCB og ledninger
Tilpasset PCB og ledninger
Tilpasset PCB og ledninger
Tilpasset PCB og ledninger

Dette er et valgfritt trinn. For å gjøre ledningen ryddigere bestemte jeg meg for å lage et tilpasset PCB ved hjelp av perf -bord og toppnål. Kretskortet inneholder porter for direkte tilkobling av servomotorkablene. I tillegg forlot jeg også ekstra porter i tilfelle jeg ønsket å utvide og legge til andre sensorer som treghetsmåleenheter eller ultralydavstandssensorer. Den inneholder også en port for den eksterne strømkilden som kreves for å drive servomotorene. En jumper -tilkobling brukes til å bytte mellom USB og ekstern strøm for Arduino. Monter Arduino og PCB på hver side av elektronikkfeste ved hjelp av skruer og 3D -trykte avstandsstykker.

Merk: Sørg for å koble fra jumperen før du kobler Arduino til datamaskinen din via USB. Hvis du ikke gjør dette, kan det føre til skade på Arduino.

Hvis du bestemmer deg for å ikke bruke kretskortet og i stedet bruke et brødbrett, er her servotilkoblingene:

  • Venstre hofte >> pin 9
  • Høyre hofte >> pinne 8
  • Venstre kne >> pin 7
  • Høyre kne >> pin 6
  • Venstre fot >> pin 5
  • Høyre fot >> pin 4

Hvis du bestemmer deg for å få kretskortet til å følge samme rekkefølge som ovenfor ved å bruke portene på kretskortet fra høyre til venstre med IMU -porten opp. Og bruk vanlige hopper til menn for å koble kretskortet til Arduino ved hjelp av pin -tallene ovenfor. Sørg for å også koble til jordpinnen og opprette det samme bakkepotensialet og Vin -pinnen når du bestemmer deg for å kjøre den uten USB -strøm.

Trinn 9: Montering av kroppen

Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen
Montering av kroppen

Når de to beina og elektronikken er satt sammen, kombinerer du dem sammen for å bygge robotkroppen. Bruk brostykket for å koble de to beina sammen. Bruk de samme monteringshullene på hofte -servoholderen og muttere og bolter som holder servomotoren. Til slutt kobler du elektronikkfeste til broen. Rett opp hullene på broen og elektronikkfeste og bruk M4 muttere og bolter for å lage skjøten.

Se de vedlagte bildene for å få hjelp. Med dette har du fullført maskinvarebyggingen av roboten. La oss deretter hoppe inn i programvaren og bringe roboten til liv.

Trinn 10: Innledende oppsett

Innledende oppsett
Innledende oppsett
Innledende oppsett
Innledende oppsett
Innledende oppsett
Innledende oppsett

Det jeg har lagt merke til mens jeg bygde dette prosjektet er at servomotorene og hornene ikke trenger å justere perfekt for å holde seg relativt parallelle. Dette er grunnen til at den "sentrale posisjonen" til hver servomotor må justeres manuelt for å justere med beina. For å oppnå dette, fjern servohornene fra hver servo og kjør skissen initial_setup.ino. Når motorene har satt seg i sin sentrale posisjon, fest hornene på nytt slik at beina er helt rette og foten er perfekt parallell med bakken. Hvis dette er tilfellet har du flaks. Hvis ikke, åpner du filen constants.h på fanen ved siden av og endrer servoforskyvningsverdiene (linje 1-6) til beina er perfekt justert og foten er flat. Spill med verdiene, så får du en ide om hva som er nødvendig i ditt tilfelle.

Når konstantene er angitt, må du merke disse verdiene, da de vil være nødvendige senere.

Se bildene for å få hjelp.

Trinn 11: Litt om kinematikken

Litt om kinematikken
Litt om kinematikken
Litt om kinematikken
Litt om kinematikken
Litt om kinematikken
Litt om kinematikken

For å få de toføtte til å utføre nyttige handlinger som å løpe og gå må de forskjellige gangartene 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å:

  1. 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.
  2. 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, z og sender ut tre vinkler som tilsvarer motorene.

Programmet som inneholder disse funksjonene finner du på neste trinn.

Trinn 12: Programmering av Arduino

Programmering av Arduino
Programmering av Arduino
Programmering av Arduino
Programmering av Arduino

Før du programmerer Arduino, må det gjøres små endringer i filen. Husker du konstantene jeg ba deg om å ta en lapp? Endre de samme konstantene til verdiene du angir i filen constants.h.

Merk: Hvis du har brukt designene i denne instruksjonsboken, har du ingenting å endre. Hvis det er noen av dere som har laget sine egne design, må du endre noen flere verdier sammen med forskyvningene. Konstanten l1 måler avstanden mellom hoftesving og knesving. Den konstante l2 måler avstanden mellom kneets sving og ankelsving. Så hvis du har designet din egen modell, må du måle disse lengdene og endre konstantene. De to siste konstantene brukes for gangartene. StepClearance -konstanten måler hvor høyt foten vil løfte mens den kommer frem etter et trinn, og trinnkonstanten måler høyden fra bakken til hoften mens den tar skritt.

Når alle konstantene er endret i henhold til ditt behov, kan du laste opp hovedprogrammet. Hovedprogrammet initialiserer ganske enkelt roboten til en gangstilling og begynner å ta skritt fremover. Funksjonene kan endres i henhold til ditt behov for å utforske de forskjellige gangartene, hastighetene og trinnlengdene for å se hva som fungerer best.

Trinn 13: Endelige resultater: Tid til å eksperimentere

Endelige resultater: Tid til eksperiment
Endelige resultater: Tid til eksperiment
Endelige resultater: Tid til eksperiment
Endelige resultater: Tid til eksperiment
Endelige resultater: Tid til eksperiment
Endelige resultater: Tid til eksperiment

Den toføtte kan ta trinn som varierer fra 10 til 2 cm lang uten å velte. Hastigheten kan også varieres samtidig som gangen holdes balansert. Denne biped kombinert med kraften til Arduino gir en robust plattform for å eksperimentere med forskjellige andre gangarter og andre mål som å hoppe eller balansere mens du sparker en ball. Jeg vil anbefale deg å prøve å endre bevegelsesbanene til beina for å lage dine egne gangarter og oppdage hvordan ulike gangarter påvirker robotens ytelse. Sensorer som en IMU og avstandssensor kan legges til systemet for å øke funksjonaliteten, mens kraftsensorer kan legges til beina for å eksperimentere med dynamisk bevegelse på ujevne overflater.

Håper du likte denne Instructable og er nok av inspirasjon til å bygge din egen. Hvis du likte prosjektet, støtt det ved å droppe en stemme i "Arduino Contest".

Happy Making!

Arduino -konkurransen 2020
Arduino -konkurransen 2020
Arduino -konkurransen 2020
Arduino -konkurransen 2020

Førstepremie i Arduino -konkurransen 2020

Anbefalt: