Sadržaj:

Arduino četveronožni robot s 3D printom: 13 koraka (sa slikama)
Arduino četveronožni robot s 3D printom: 13 koraka (sa slikama)

Video: Arduino četveronožni robot s 3D printom: 13 koraka (sa slikama)

Video: Arduino četveronožni robot s 3D printom: 13 koraka (sa slikama)
Video: Hodajući četveronožni robot pokretan umjetnim pneumatskim mišićima 2024, Studeni
Anonim
Arduino četveronožni robot s 3D printom
Arduino četveronožni robot s 3D printom
Arduino četveronožni robot s 3D printom
Arduino četveronožni robot s 3D printom
Arduino četveronožni robot s 3D printom
Arduino četveronožni robot s 3D printom

Fusion 360 projekti »

Iz prethodnih Instructablesa vjerojatno možete vidjeti da imam veliko zanimanje za robotske projekte. Nakon prethodnog Instructablea gdje sam sagradio robotskog dvonošca, odlučio sam pokušati napraviti četveronožnog robota koji bi mogao oponašati životinje poput pasa i mačaka. U ovom Instructable -u pokazat ću vam dizajn i montažu robotskog četveronožaca.

Primarni cilj izgradnje ovog projekta bio je učiniti sustav što je moguće robusnijim, tako da tijekom eksperimentiranja s različitim hodanjem i hodanjem ne bih morao stalno brinuti o kvarovima hardvera. To mi je omogućilo da dovedem hardver do krajnjih granica i eksperimentiram sa složenim hodima i pokretima. Sekundarni cilj bio je učiniti četveronošce relativno jeftinim korištenjem lako dostupnih dijelova za hobi i 3D ispisa koji su omogućili brzu izradu prototipa. Ova dva cilja zajedno daju snažnu osnovu za izvođenje različitih eksperimenata, dopuštajući im da razviju četveronošce za specifičnije zahtjeve kao što su navigacija, izbjegavanje prepreka i dinamičko kretanje.

Pogledajte gornji video prilog kako biste vidjeli brzu demonstraciju projekta. Nastavite s izradom vlastitog Arduino četveronožnog robota i ispustite glasovanje na natječaju "Make it Move Contest" ako vam se svidio projekt.

Korak 1: Pregled i proces projektiranja

Pregled i proces projektiranja
Pregled i proces projektiranja
Pregled i proces projektiranja
Pregled i proces projektiranja
Pregled i proces projektiranja
Pregled i proces projektiranja

Četveronožac je dizajniran u Autodeskovom besplatnom softveru za modeliranje Fusion 360 3d za modeliranje. Počeo sam uvozom servo motora u dizajn i izgradio noge i tijelo oko njih. Dizajnirao sam nosače za servo motor koji pruža drugu zakretnu točku dijametralno suprotnu od osovine servo motora. Dvostruka vratila na oba kraja motora daju konstrukcijsku stabilnost dizajnu i eliminiraju bilo kakvo iskrivljenje koje se može dogoditi kada su noge podnesene za određeno opterećenje. Veze su dizajnirane za držanje ležaja, dok su nosači koristili vijak za osovinu. Nakon što su spojevi montirani na vratila pomoću matice, ležaj bi osigurao glatku i robusnu točku zakretanja na suprotnoj strani vratila servo motora.

Drugi je cilj prilikom projektiranja četveronošca bio zadržati model što kompaktnijim kako bi se maksimalno iskoristio okretni moment koji osiguravaju servo motori. Dimenzije karika napravljene su kako bi se postigao veliki raspon kretnji uz minimiziranje ukupne duljine. Ako bi ih učinili prekratkim, nosači bi se sudarili, smanjili bi se raspon kretnji, a predugo bi izvršili nepotreban okretni moment na aktuatore. Konačno, dizajnirao sam tijelo robota na koje će se montirati Arduino i druge elektroničke komponente. Ostavio sam i dodatne točke pričvršćivanja na gornjoj ploči kako bih projekt prilagodio za daljnja poboljšanja. Nekada bi se mogli dodati senzori kao što su senzori udaljenosti, kamere ili drugi aktivirani mehanizmi poput robotskih hvataljki.

Napomena: Dijelovi su uključeni u jedan od sljedećih koraka.

Korak 2: Potrebni materijali

Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali

Ovdje je popis svih komponenti i dijelova potrebnih za izradu vlastitog Arduino četveronožnog robota. Svi dijelovi trebali bi biti općenito dostupni i lako se pronaći u lokalnim prodavaonicama hardvera ili na internetu.

ELEKTRONIKA:

Arduino Uno x 1

Servo motor Towerpro MG995 x 12

Arduino senzorski štit (preporučujem verziju V5, ali imao sam verziju V4)

Žice za kratkospojnike (10 komada)

MPU6050 IMU (opcionalno)

Ultrazvučni senzor (opcionalno)

HARDVER:

Kuglični ležajevi (8x19x7mm, 12 komada)

M4 matice i vijci

Žica za 3D pisač (u slučaju da ne posjedujete 3D pisač, trebao bi postojati 3D pisač u lokalnom radnom prostoru ili se ispisi mogu obaviti putem interneta po prilično jeftino)

Akrilne ploče (4 mm)

ALATI

3D pisač

Laserski rezač

Najvažniji trošak ovog projekta je 12 servo motora. Preporučujem da prijeđete na verziju srednjeg do visokog raspona umjesto da koristite jeftine plastične jer se lako mogu slomiti. Bez alata, ukupni trošak ovog projekta iznosi približno 60 USD.

Korak 3: Digitalno izrađeni dijelovi

Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi
Digitalno izrađeni dijelovi

Dijelovi potrebni za ovaj projekt morali su biti prilagođeni, pa smo za njihovu izradu upotrijebili snagu digitalno izrađenih dijelova i CAD-a. Većina dijelova je 3D tiskana, osim nekoliko koji su laserski izrezani od 4 mm akrila. Otisci su napravljeni pri ispuni od 40%, 2 oboda, mlaznici od 0,4 mm i visini sloja od 0,1 mm pomoću PLA. Neki dijelovi zahtijevaju potpore budući da su složenog oblika s prevjesima, međutim, nosači su lako dostupni i mogu se ukloniti pomoću nekih rezača. Možete odabrati boju vlakana po vašem izboru. Ispod možete pronaći potpuni popis dijelova i STL -ova za ispis vlastite verzije i 2D dizajna za laserski izrezane dijelove.

Napomena: Odavde će se dijelovi pozivati na imena sa sljedećeg popisa.

3D ispisani dijelovi:

  • hip servo držač x 2
  • zrcalo servo držača kuka x 2
  • servo držač za koljena x 2
  • ogledalo servo držača za koljena x 2
  • držač ležaja x 2
  • ogledalo držača ležaja x 2
  • noga x 4
  • veza servo trube x 4
  • ležajna karika x 4
  • arduino držač x 1
  • držač senzora udaljenosti x 1
  • L-nosač x 4
  • ležajna čahura x 4
  • odstojnik za servo trubu x 24

Laserski izrezani dijelovi:

  • ploča servo držača x 2
  • gornja ploča x 1

Ukupno postoji 30 dijelova koje je potrebno 3D ispisati, bez raznih razmaka, te ukupno 33 digitalno izrađena dijela. Ukupno vrijeme ispisa je oko 30 sati.

Korak 4: Priprema veza

Priprema veza
Priprema veza
Priprema veza
Priprema veza
Priprema veza
Priprema veza

Sklapanje možete započeti postavljanjem nekih dijelova na početku što će učiniti proces završne montaže lakšim za upravljanje. Možete početi s vezom. Za izradu ležajne veze lagano izbrusite unutarnju površinu rupa za ležaj, a zatim gurnite ležaj u rupu na oba kraja. Utisnite ležaj dok se jedna strana ne isperi. Za izradu veze servo trube, uhvatite dvije kružne servo trube i vijke koji su došli s njima. Postavite rogove na 3D ispis i poravnajte dvije rupe, zatim zavijte trubu na 3D ispis pričvršćivanjem vijka sa strane 3D ispisa. Morao sam upotrijebiti neke 3D tiskane odstojnike za servo trube jer su isporučeni vijci bili malo dugi i presijecali bi se s tijelom servo motora dok se rotira. Nakon što su veze izgrađene, možete početi postavljati različite držače i zagrade.

Ponovite ovo za sve 4 veze obje vrste.

Korak 5: Priprema servo nosača

Priprema servo nosača
Priprema servo nosača
Priprema servo nosača
Priprema servo nosača
Priprema servo nosača
Priprema servo nosača

Da biste postavili servo držač koljena, jednostavno provucite vijak od 4 mm kroz rupu i pričvrstite ga maticom. To će funkcionirati kao sekundarna osovina za motor. Iz konzole servo držača provucite dva vijka kroz dvije rupe i pričvrstite ih s još dvije matice. Zatim uzmite drugu kružnu servo trubu i pričvrstite je na blago povišeni dio nosača pomoću dva vijka koji su isporučeni s sirenama. Još jednom bih vam preporučio korištenje odstojnika za servo trupce kako vijci ne bi stršili u otvor za servo. Na kraju, uhvatite dio držača ležaja i gurnite ležaj u rupu. Možda ćete morati dobro brušiti unutarnju površinu za dobro prianjanje. Zatim gurnite ležaj u ležaj prema savijanju dijela držača ležaja.

Prilikom izgradnje nosača pogledajte gornje slike. Ponovite ovaj postupak za ostale zagrade. Zrcaljeni su slični, samo je sve zrcaljeno.

Korak 6: Sklapanje nogu

Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu
Sastavljanje nogu

Nakon što su sve veze i zagrade sastavljene, možete početi graditi četiri noge robota. Počnite pričvršćivanjem servomotora na nosače pomoću 4 x M4 vijka i matica. Poravnajte osovinu servo servera s izbočenim vijkom s druge strane.

Zatim povežite servo za hip sa servo za koljeno pomoću dijela za servo trubu. Nemojte još koristiti vijke za pričvršćivanje trube na osovinu servo motora jer ćemo kasnije možda morati prilagoditi položaj. Na suprotnoj strani pričvrstite ležajnu vezu koja sadrži dva ležaja na vijke koji vire pomoću matica.

Ponovite ovaj postupak za ostale tri noge, a četiri noge za četveronošce su spremne!

Korak 7: Sklapanje tijela

Sklapanje tijela
Sklapanje tijela
Sklapanje tijela
Sklapanje tijela
Sklapanje tijela
Sklapanje tijela
Sklapanje tijela
Sklapanje tijela

Zatim se možemo usredotočiti na izgradnju tijela robota. U tijelu se nalaze četiri servo motora koji nogama daju treći stupanj slobode. Počnite pomoću 4 x M4 vijka i utora za pričvršćivanje servo servera na laserski izrezanu ploču držača servo servera.

Napomena: Provjerite je li servo pričvršćen tako da je osovina na vanjskoj strani komada, kao što se vidi na gornjim slikama. Ponovite ovaj postupak za ostala tri servo motora imajući u vidu orijentaciju.

Zatim pričvrstite L-nosače s obje strane ploče pomoću dvije M4 matice i vijka. Ovaj nam komad omogućuje da čvrsto pričvrstimo ploču servo držača na gornju ploču. Ponovite ovaj postupak s još dva L-nosača i drugom pločom servo držača koja drži drugi set servo motora.

Nakon što su L nosači postavljeni, upotrijebite više M4 matica i vijaka za pričvršćivanje ploče servo držača na gornju ploču. Počnite s vanjskim setom matica i vijaka (prema naprijed i natrag). Središnje matice i vijci također drže dio držača arduina. Pomoću četiri matice i vijka pričvrstite arduino držač odozgo na gornju ploču i poravnajte vijke tako da prolaze i kroz otvore L za podupiranje. Za objašnjenja pogledajte gornje slike. Na kraju gurnite četiri matice u utore na pločama servo držača i pomoću vijaka pričvrstite ploče servo držača na gornju ploču.

Korak 8: Sve spojite

Spajajući sve zajedno
Spajajući sve zajedno
Spajajući sve zajedno
Spajajući sve zajedno
Spajajući sve zajedno
Spajajući sve zajedno

Nakon što su noge i tijelo sastavljeni, možete početi dovršavati proces montaže. Montirajte četiri noge na četiri servomotora pomoću servo trupa koje su bile pričvršćene na bočni servo držač. Konačno, pomoću dijelova držača ležaja poduprite suprotnu osovinu držača kuka. Provucite osovinu kroz ležaj i pričvrstite ga vijkom. Držače ležajeva pričvrstite na gornju ploču pomoću dvije M4 matice i vijka.

Time je hardverski sklop četveronožaca spreman.

Korak 9: Ožičenje i sklop

Ožičenje i krug
Ožičenje i krug
Ožičenje i krug
Ožičenje i krug
Ožičenje i krug
Ožičenje i krug
Ožičenje i krug
Ožičenje i krug

Odlučio sam upotrijebiti štitnik senzora koji je pružao veze za servo motore. Preporučio bih vam da koristite štitnik senzora v5 budući da ima ugrađeni priključak za vanjsko napajanje. Međutim, onaj koji sam koristio nije imao tu mogućnost. Gledajući pobliže štitnik senzora, primijetio sam da štitnik senzora crpi snagu iz Arduinovog 5v pina (što je strašna ideja kada su u pitanju servo motori velike snage jer riskirate oštećenje Arduina). Rješenje ovog problema bilo je savijanje 5v pina na štitu senzora s mjesta kako se ne bi spojio na 5v pin Arduina. Na ovaj način sada možemo osigurati vanjsko napajanje putem 5v pina bez oštećenja Arduina.

Priključci signalnih pinova 12 servo motora prikazani su u donjoj tablici.

Napomena: Hip1Servo se odnosi na servo priključen na tijelo. Hip2Servo se odnosi na servo priključen na nogu.

Noga 1 (naprijed lijevo):

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

Noga 2 (naprijed desno):

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

Noga 3 (straga lijevo):

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

Noga 4 (straga desno):

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

Korak 10: Početno postavljanje

Početno postavljanje
Početno postavljanje
Početno postavljanje
Početno postavljanje

Prije nego počnemo programirati složene hodove i druge pokrete, moramo postaviti nulte točke svakog serva. To daje robotu referentnu točku koju koristi za izvođenje različitih pokreta.

Kako biste izbjegli oštećenja robota, možete ukloniti veze servo trube. Zatim prenesite kôd koji je dolje priložen. Ovaj kôd postavlja svaki od servo upravljača na 90 stupnjeva. Nakon što servo pogoni dosegnu položaj od 90 stupnjeva, možete ponovno spojiti veze tako da su noge savršeno ravne, a servo pričvršćen na tijelo okomit na gornju ploču četveronožnog.

U ovom trenutku, zbog dizajna servo trupa, neki spojevi možda još uvijek nisu savršeno ravni. Rješenje za to je prilagodba polja zeroPositions koji se nalazi u 4. retku koda. Svaki broj predstavlja nulti položaj odgovarajućeg serva (redoslijed je isti kao redoslijed kojim ste servo priključili na Arduino). Malo promijenite ove vrijednosti dok noge ne budu savršeno ravne.

Napomena: Evo vrijednosti koje koristim, iako vam te vrijednosti možda neće raditi:

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

Korak 11: Malo o kinematici

Malo o kinematici
Malo o kinematici
Malo o kinematici
Malo o kinematici
Malo o kinematici
Malo o kinematici

Da bi četveronožac izvodio korisne radnje poput trčanja, hodanja i drugih pokreta, servomotore je potrebno programirati u obliku staza kretanja. Putevi kretanja su putevi kojima se kreće krajnji efektor (u ovom slučaju stopala). Postoje dva načina da se to postigne:

  1. Jedan bi pristup bio hranjenje spojnih kutova različitih motora na grubu silu. Ovaj pristup može biti dugotrajan, dosadan i također ispunjen pogreškama budući da je prosudba čisto vizualna. Umjesto toga, postoji pametniji način postizanja željenih rezultata.
  2. Drugi pristup se vrti oko hranjenja koordinata krajnjeg efektora umjesto svih spojnih kutova. To je ono što je poznato kao inverzna kinematika. Korisnik unosi koordinate, a kutovi spoja se podešavaju tako da krajnji efektor postavi na navedene koordinate. Ova se metoda može smatrati crnom kutijom koja uzima kao ulaznu koordinatu i izlazi zajedničke kutove. Za one koje zanima kako su razvijene trigonometrijske jednadžbe ove crne kutije mogu pogledati gornji dijagram. Za one koje ne zanimaju, jednadžbe su već programirane i mogu se koristiti pomoću funkcije pos koja uzima kao ulaz x, y, z, što je kartezijsko mjesto krajnjeg efektora i izlazi tri kuta koji odgovaraju motorima.

Program koji sadrži ove funkcije možete pronaći u sljedećem koraku.

Korak 12: Programiranje četveronožaca

Programiranje četveronožaca
Programiranje četveronožaca

Nakon dovršetka ožičenja i inicijalizacije možete programirati robota i generirati hladne putanje kretanja tako da robot izvršava zanimljive zadatke. Prije nego nastavite, promijenite 4. redak u priloženom kodu na vrijednosti koje ste postavili u koraku inicijalizacije. Nakon učitavanja programa, robot bi trebao početi hodati. Ako primijetite da su neki spojevi obrnuti, jednostavno možete promijeniti odgovarajuću vrijednost smjera u nizu smjerova u retku 5 (ako je 1 neka bude -1, a ako je -1 neka bude 1).

Korak 13: Konačni rezultati: Vrijeme za eksperimentiranje

Konačni rezultati: Vrijeme za eksperimentiranje
Konačni rezultati: Vrijeme za eksperimentiranje
Konačni rezultati: Vrijeme za eksperimentiranje
Konačni rezultati: Vrijeme za eksperimentiranje
Konačni rezultati: Vrijeme za eksperimentiranje
Konačni rezultati: Vrijeme za eksperimentiranje

Četveronožni robot može poduzeti korake različite od 5 do 2 cm. Brzina se također može mijenjati uz održavanje uravnoteženog hoda. Ova četveronoža pruža robusnu platformu za eksperimentiranje s raznim drugim hodima i drugim ciljevima, poput skakanja ili izvršavanja zadataka. Preporučio bih vam da pokušate promijeniti putanju kretanja nogu kako biste stvorili vlastite hodove i otkrili kako različiti hodovi utječu na performanse robota. Također sam ostavio više montažnih točaka na vrhu robota za dodatni senzor, poput senzora za mjerenje udaljenosti za zadatke izbjegavanja prepreka ili IMU za dinamičke hodove na neravnom terenu. Moglo bi se i eksperimentirati s dodatnom hvataljkom montiranom na vrh robota jer je robot iznimno stabilan i robustan te se neće lako prevrnuti.

Nadam se da ste uživali u ovom Instructable -u i da vas je inspirirao da napravite svoj vlastiti.

Ako vam se svidio projekt podržite ga tako što ćete glasovati na natječaju "Make it Move Contest".

Sretno stvaranje!

Natječaj Make it Move 2020
Natječaj Make it Move 2020
Natječaj Make it Move 2020
Natječaj Make it Move 2020

Druga nagrada na natječaju Make it Move 2020

Preporučeni: