Sadržaj:

3D štampani Arduino četveronožni robot: 13 koraka (sa slikama)
3D štampani Arduino četveronožni robot: 13 koraka (sa slikama)

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

Video: 3D štampani Arduino četveronožni robot: 13 koraka (sa slikama)
Video: four legged robot 003 2024, Novembar
Anonim
3D štampani Arduino četveronožni robot
3D štampani Arduino četveronožni robot
3D štampani Arduino četveronožni robot
3D štampani Arduino četveronožni robot
3D štampani Arduino četveronožni robot
3D štampani Arduino četveronožni robot

Fusion 360 projekti »

Iz prethodnih Instructablesa vjerovatno možete vidjeti da imam veliko zanimanje za robotske projekte. Nakon prethodnog Instructable -a gdje sam napravio robotskog dvonošca, odlučio sam pokušati napraviti četveronožnog robota koji bi mogao imitirati ž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 trčanjem 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 četvorku za specifičnije zahtjeve kao što su navigacija, izbjegavanje prepreka i dinamičko kretanje.

Pogledajte gornji video prilog da vidite kratku demonstraciju projekta. Nastavite sa kreiranjem vlastitog Arduino četveronožnog robota i ispustite glasanje na takmičenju "Make it Move Contest" ako vam se svidio projekt.

Korak 1: Pregled i proces projektovanja

Pregled i proces projektovanja
Pregled i proces projektovanja
Pregled i proces projektovanja
Pregled i proces projektovanja
Pregled i proces projektovanja
Pregled i proces projektovanja

Četveronožac je dizajniran u Autodeskovom besplatnom softveru za modeliranje Fusion 360 3d. 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 tačku zakretanja dijametralno suprotnu od osovine servo motora. Dvostruka vratila na oba kraja motora daju konstrukcijsku stabilnost dizajnu i eliminiraju svako naginjanje koje može nastati kada su noge podnijete 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 tačku zakretanja na suprotnoj strani vratila servo motora.

Još jedan cilj prilikom projektiranja četveronošca bio je 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 kretanja uz minimiziranje ukupne duljine. Ako bi ih učinili prekratkim, držači bi se sudarili, smanjivši 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 tačke za pričvršćivanje na gornjoj ploči kako bih projekt prilagodio za daljnja poboljšanja. Nekada su 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

Towerpro servo motor 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 štampač (u slučaju da ne posjedujete 3D štampač, trebao bi biti 3D štampač u lokalnom radnom prostoru ili se otisci mogu uraditi na mreži po prilično jeftino)

Akrilne ploče (4 mm)

ALATI

3D štampač

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 one lako lome. Bez alata, ukupni troškovi ovog projekta su približno 60 USD.

Korak 3: Digitalno proizvedeni dijelovi

Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi
Digitalno proizvedeni dijelovi

Dijelovi potrebni za ovaj projekt morali su biti prilagođeni dizajnu, pa smo za njihovu izradu upotrijebili snagu digitalno proizvedenih dijelova i CAD-a. Većina dijelova je 3D štampana, 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 sa PLA. Neki dijelovi zahtijevaju podupirače jer imaju složen oblik s prevjesima, međutim, nosači su lako dostupni i mogu se ukloniti pomoću nekih rezača. Možete odabrati boju po vašem izboru. Ispod možete pronaći potpunu listu 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će liste.

3D štampani delovi:

  • 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 čaura x 4
  • odstojnik za servo trube x 24

Laserski rezani dijelovi:

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

Ukupno postoji 30 dijelova koje je potrebno 3D ispisati isključujući različite odstojnike, te ukupno 33 digitalno izrađena dijela. Ukupno vrijeme štampanja 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 unutrašnju površinu rupa za ležaj, a zatim gurnite ležaj u rupu na oba kraja. Pazite da gurnete ležaj dok se jedna strana ne isperi. Da biste izgradili vezu 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 štampe. Morao sam koristiti neke 3D štampane odstojnike za servo trube jer su isporučeni vijci bili malo dugi i ukrštali bi se s tijelom servo motora dok se okreće. Nakon što su veze izgrađene, možete početi postavljati različite držače i zagrade.

Ponovite ovo za sve 4 veze oba tipa.

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. Ovo ć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 uzdignuti dio držača pomoću dva vijka koja ste dobili s sirenama. Još jednom bih vam preporučio da koristite odstojnik za servo trupce tako da vijci ne strše u otvor za servo. Na kraju, uhvatite dio držača ležaja i gurnite ležaj u rupu. Možda će biti potrebno lagano brušenje unutrašnje površine radi dobrog prianjanja. Zatim gurnite ležaj u ležaj prema savijanju komada držača ležaja.

Pogledajte gornje slike pri gradnji držača. Ponovite ovaj postupak za ostale zagrade. Zrcaljeni su slični, samo je sve preslikano.

Korak 6: Sklapanje nogu

Sklapanje nogu
Sklapanje nogu
Sklapanje nogu
Sklapanje nogu
Sklapanje nogu
Sklapanje nogu
Sklapanje nogu
Sklapanje nogu

Nakon što se sve veze i zagrade sastave, možete početi graditi četiri noge robota. Počnite pričvršćivanjem servo pogona na držače pomoću 4 x M4 vijka i matica. Poravnajte osovinu servo servera s izbočenim vijkom na drugoj strani.

Zatim povežite servo za hip sa servo koljenom 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 vijcima pomoću matica.

Ponovite ovaj postupak za ostale tri noge, a četiri noge za četvorku su spremne!

Korak 7: Sklapanje tijela

Sklapanje tela
Sklapanje tela
Sklapanje tela
Sklapanje tela
Sklapanje tela
Sklapanje tela
Sklapanje tela
Sklapanje tela

Zatim se možemo usredotočiti na izgradnju tijela robota. U kućištu se nalaze četiri servo motora koji nogama daju treći stepen 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 s vanjske strane 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 komad nam omogućuje da čvrsto pričvrstimo ploču servo držača na gornju ploču. Ponovite ovaj postupak sa 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 još M4 matica i vijaka za pričvršćivanje ploče držača servo servera na gornju ploču. Počnite s vanjskim setom matica i vijaka (prema naprijed i prema natrag). Centralne matice i vijci također drže komad arduino držača. Upotrijebite četiri matice i vijke za pričvršćivanje arduino držača odozgo na gornju ploču i poravnajte vijke tako da prolaze i kroz rupe L nosača. 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 za gornju ploču.

Korak 8: Sve zajedno

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 započeti dovršavanje procesa montaže. Montirajte četiri nožice na četiri servo motora 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.

Ovim je hardverski sklop četveronožaca spreman.

Korak 9: 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
Ožičenje i krug

Odlučio sam upotrijebiti štitnik senzora koji je osigurao veze za servo motore. Preporučio bih vam da koristite štitnik senzora v5 jer on ima ugrađeni priključak za vanjsko napajanje. Međutim, onaj koji sam koristio nije imao ovu opciju. Pažljivije posmatrajući štitnik senzora, primijetio sam da štit senzora crpi energiju 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 tako da se ne može spojiti 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 (levo nazad):

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

Noga 4 (pozadi desno):

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

Korak 10: Početno postavljanje

Početna postavka
Početna postavka
Početna postavka
Početna postavka

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

Da biste izbjegli oštećenja robota, možete ukloniti veze servo trube. Zatim prenesite kôd koji je dolje priložen. Ovaj kod postavlja svaki od servo servera na 90 stepeni. Nakon što servo pogoni dosegnu položaj od 90 stupnjeva, možete ponovo 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 ovo je prilagođavanje polja zeroPositions koje se nalazi u 4. retku koda. Svaki broj predstavlja nultu poziciju odgovarajućeg serva (redoslijed je isti kao redoslijed kojim ste servo priključili na Arduino). Malo prilagodite ove vrijednosti dok noge ne budu savršeno ravne.

Napomena: Evo vrijednosti koje koristim, iako vam ove 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 pristup bi bio napajanje spojnih kutova različitih motora na grubu silu. Ovaj pristup može biti dugotrajan, dosadan i također ispunjen greškama jer 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 i uglovi spoja se prilagođavaju kako bi krajnji efektor postavio na navedene koordinate. Ova metoda se može smatrati crnom kutijom koja uzima kao ulaznu koordinatu i izlazi zajedničke uglove. 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, koja je kartezijanska lokacija 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 četvorke

Programiranje četveronožaca
Programiranje četveronožaca

Nakon što ožičenje i inicijalizacija završe, možete programirati robota i generirati hladne putanje kretanja tako da robot izvršava zanimljive zadatke. Prije nego nastavite, promijenite 4. red 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 zglobovi 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 pokrete i otkrili kako različiti hodovi utječu na performanse robota. Ostavio sam i 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 izuzetno 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 takmičenju "Make it Move Contest".

Happy Making!

Takmičenje Make it Move 2020
Takmičenje Make it Move 2020
Takmičenje Make it Move 2020
Takmičenje Make it Move 2020

Druga nagrada na takmičenju Make it Move 2020

Preporučuje se: