Sisällysluettelo:

3D -tulostettu Arduino -käyttöinen nelijalkainen robotti: 13 vaihetta (kuvilla)
3D -tulostettu Arduino -käyttöinen nelijalkainen robotti: 13 vaihetta (kuvilla)

Video: 3D -tulostettu Arduino -käyttöinen nelijalkainen robotti: 13 vaihetta (kuvilla)

Video: 3D -tulostettu Arduino -käyttöinen nelijalkainen robotti: 13 vaihetta (kuvilla)
Video: Miten tehdä robotti hyönteisten, 4 nelijalkainen robotti 2024, Heinäkuu
Anonim
3D -painettu Arduino -käyttöinen nelijalkainen robotti
3D -painettu Arduino -käyttöinen nelijalkainen robotti
3D -painettu Arduino -käyttöinen nelijalkainen robotti
3D -painettu Arduino -käyttöinen nelijalkainen robotti
3D -painettu Arduino -käyttöinen nelijalkainen robotti
3D -painettu Arduino -käyttöinen nelijalkainen robotti

Fusion 360 -projektit »

Aiemmista Instructables -ohjelmista näet todennäköisesti, että olen syvästi kiinnostunut robottiprojekteista. Edellisen Instructable -ohjelman jälkeen, jossa rakensin kaksijalkaisen robotin, päätin yrittää tehdä nelijalkaisen robotin, joka kykenee matkimaan eläimiä, kuten koiria ja kissoja. Tässä Instructable -ohjelmassa näytän robotti -nelijalkaisen suunnittelun ja kokoonpanon.

Tämän projektin rakentamisen ensisijainen tavoite oli tehdä järjestelmästä mahdollisimman kestävä, jotta kokeillessani erilaisia kävely- ja juoksuaskelia minun ei tarvitsisi jatkuvasti huolehtia laitteiston viasta. Tämä antoi minulle mahdollisuuden työntää laitteisto äärimmilleen ja kokeilla monimutkaisia askeleita ja liikkeitä. Toissijainen tavoite oli tehdä nelijalkaisesta suhteellisen edullinen käyttämällä helposti saatavilla olevia harrastusosia ja 3D-tulostusta, mikä mahdollisti nopean prototyyppien luomisen. Nämä kaksi tavoitetta yhdessä luovat vankan perustan erilaisten kokeiden suorittamiselle ja antavat nelijalkaisen kehittää erityisvaatimuksia, kuten navigointia, esteiden välttämistä ja dynaamista liikkumista.

Katso yllä olevasta videosta projektin nopea esittely. Jatka luodaksesi oma Arduino Powered Quadruped -robotti ja pudota äänestys "Make it Move Contest" -kilpailussa, jos pidit projektista.

Vaihe 1: Yleiskatsaus ja suunnitteluprosessi

Yleiskatsaus ja suunnitteluprosessi
Yleiskatsaus ja suunnitteluprosessi
Yleiskatsaus ja suunnitteluprosessi
Yleiskatsaus ja suunnitteluprosessi
Yleiskatsaus ja suunnitteluprosessi
Yleiskatsaus ja suunnitteluprosessi

Nelinjalkainen on suunniteltu Autodeskin ilmaiseksi käytettäväksi Fusion 360 3d -mallinnusohjelmistoon. Aloitin tuomalla servomoottorit suunnitteluun ja rakensin jalat ja rungon niiden ympärille. Suunnittelin kiinnikkeet servomoottorille, joka tarjoaa toisen kääntöpisteen, joka on diametraalisesti vastapäätä servomoottorin akselia. Kaksoisakselit moottorin molemmissa päissä antavat rakenteelle vakauden ja eliminoivat kaikki vinoutumiset, joita voi esiintyä, kun jalat on tehty kestämään. Linkit suunniteltiin pitämään laakeria, kun taas kannattimissa käytettiin akselin pulttia. Kun nivelet oli asennettu akseleihin mutterilla, laakeri antaisi tasaisen ja vankan kääntöpisteen servomoottorin akselin vastakkaiselle puolelle.

Toinen tavoite suunniteltaessa nelijalkaista oli pitää malli mahdollisimman kompaktina, jotta servomoottoreiden tarjoama vääntömomentti voitaisiin hyödyntää parhaalla mahdollisella tavalla. Linkkien mitat tehtiin suuren liikealueen saavuttamiseksi minimoiden kokonaispituus. Jos ne tehdään liian lyhyiksi, kiinnikkeet törmäävät, liikealue rajoittuu ja liian pitkäksi tekeminen aiheuttaisi tarpeetonta vääntömomenttia toimilaitteille. Lopuksi suunnittelin robotin rungon, johon Arduino ja muut elektroniset komponentit asennettaisiin. Olen myös jättänyt ylimääräisiä kiinnityskohtia yläpaneeliin, jotta projekti voidaan skaalata lisäparannuksia varten. Kerran voitaisiin lisätä antureita, kuten etäisyysantureita, kameroita tai muita toimivia mekanismeja, kuten robottiohjaimia.

Huomautus: Osat sisältyvät johonkin seuraavista vaiheista.

Vaihe 2: Tarvittavat materiaalit

Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit

Tässä on luettelo kaikista komponenteista ja osista, joita tarvitaan oman Arduino Powered Quadruped -robotin valmistamiseen. Kaikkien osien pitäisi olla yleisesti saatavilla ja helposti löydettävissä paikallisista rautakaupoista tai verkossa.

ELEKTRONIIKKA:

Arduino Uno x 1

Towerpro MG995 -servomoottori x 12

Arduino Sensor Shield (suosittelen V5 -versiota, mutta minulla oli V4 -versio)

Hyppyjohdot (10 kpl)

MPU6050 IMU (valinnainen)

Ultraääni -anturi (valinnainen)

LAITTEISTO:

Kuulalaakerit (8x19x7mm, 12 kpl)

M4 mutterit ja pultit

3D -tulostimen filamentti (jos sinulla ei ole 3D -tulostinta, paikallisessa työtilassa pitäisi olla 3D -tulostin tai tulosteet voidaan tehdä verkossa melko halvalla)

Akryylilevyt (4mm)

TYÖKALUT

3D tulostin

Laserleikkuri

Tämän hankkeen merkittävimmät kustannukset ovat 12 servomoottoria. Suosittelen siirtymistä keskitason korkean tason versioon halpojen muovisten mallien sijasta, koska niillä on taipumus rikkoutua helposti. Ilman työkaluja tämän projektin kokonaiskustannukset ovat noin 60 dollaria.

Vaihe 3: Digitaalisesti valmistetut osat

Digitaalisesti valmistetut osat
Digitaalisesti valmistetut osat
Digitaalisesti valmistetut osat
Digitaalisesti valmistetut osat
Digitaalisesti valmistetut osat
Digitaalisesti valmistetut osat

Tässä projektissa tarvittavat osat oli suunniteltava mittatilaustyönä, joten käytimme digitaalisesti valmistettujen osien ja CAD: n voimaa niiden rakentamiseen. Suurin osa osista on 3D -tulostettuja lukuun ottamatta muutamia, jotka on leikattu laserilla 4 mm: n akryylistä. Tulosteet tehtiin 40% täyteaineella, 2 kehällä, 0,4 mm: n suuttimella ja 0,1 mm: n kerroksen korkeudella PLA: lla. Jotkut osat tarvitsevat tukia, koska niillä on monimutkainen muoto ja ulokkeet, mutta tuet ovat helposti saatavilla ja ne voidaan poistaa joidenkin leikkureiden avulla. Voit valita haluamasi hehkulangan värin. Alta löydät täydellisen luettelon osista ja STL -versioista oman version tulostamiseksi sekä 2D -mallit laserleikattuille osille.

Huomautus: Tästä eteenpäin osiin viitataan käyttämällä seuraavassa luettelossa olevia nimiä.

3D -painetut osat:

  • lonkkaservokannatin x 2
  • lonkan servopidike peili x 2
  • polven servokannatin x 2
  • polven servopidike peili x 2
  • laakeripidike x 2
  • laakeripidikkeen peili x 2
  • jalka x 4
  • servosarven linkki x 4
  • laakerilinkki x 4
  • arduino -pidike x 1
  • etäisyysanturin pidike x 1
  • L-tuki x 4
  • laakeriholkki x 4
  • servosarven välike x 24

Laserleikatut osat:

  • servopidikkeen paneeli x 2
  • yläpaneeli x 1

Yhteensä on tulostettava 3D -osia 30 osaa lukuun ottamatta erilaisia välikappaleita ja yhteensä 33 digitaalisesti valmistettua osaa. Tulostuksen kokonaisaika on noin 30 tuntia.

Vaihe 4: Linkkien valmistelu

Linkkien valmistelu
Linkkien valmistelu
Linkkien valmistelu
Linkkien valmistelu
Linkkien valmistelu
Linkkien valmistelu

Voit aloittaa kokoonpanon asettamalla joitakin osia alussa, mikä tekee lopullisesta kokoonpanoprosessista hallittavamman. Voit aloittaa linkistä. Tee laakerilinkki hiomalla kevyesti laakerin reikien sisäpintaa ja työntämällä laakeri molempien päiden reikään. Varmista, että työnnät laakeria sisään, kunnes toinen puoli on tasainen. Voit rakentaa servosarven linkin tarttumalla kahteen pyöreään servosarveen ja niiden mukana tulleisiin ruuveihin. Aseta sarvet 3D -tulosteen päälle ja kohdista kaksi reikää, ruuvaa sitten sarvi 3D -tulostukseen kiinnittämällä ruuvi 3D -tulostuspuolelta. Jouduin käyttämään joitain 3D -tulostettuja servosarven välikappaleita, koska mukana toimitetut ruuvit olivat hieman pitkiä ja leikkisivät servomoottorin rungon kanssa sen pyöriessä. Kun linkit on rakennettu, voit alkaa asentaa erilaisia pidikkeitä ja kiinnikkeitä.

Toista tämä molemmille neljälle linkille.

Vaihe 5: Servokannattimien valmistelu

Servokannattimien valmistelu
Servokannattimien valmistelu
Servokannattimien valmistelu
Servokannattimien valmistelu
Servokannattimien valmistelu
Servokannattimien valmistelu

Asenna polvipalvelukiinnike työntämällä 4 mm: n pultti reiän läpi ja kiinnittämällä se mutterilla. Tämä toimii moottorin toissijaisena akselina. Laita lonkkaservokannattimesta kaksi pulttia kahden reiän läpi ja kiinnitä ne vielä kahdella mutterilla. Tartu seuraavaksi toiseen pyöreään servosarveen ja kiinnitä se pidikkeen hieman kohotettuun osaan kahden sarven mukana tulleen ruuvin avulla. Vielä kerran suosittelen käyttämään servosarven välikappaletta, jotta ruuvit eivät ulotu servon rakoon. Tartu lopuksi laakeripidikkeen osaan ja työnnä laakeri reikään. Saatat joutua hiomaan sisäpintaa kevyesti hyvän istuvuuden takaamiseksi. Työnnä seuraavaksi laakerin työntö laakeria kohti, kunnes laakeripidikkeen osa taipuu.

Katso yllä olevia kuvia kiinnikkeitä rakennettaessa. Toista tämä prosessi muille suluille. Peilatut ovat samanlaisia, vain kaikki peilataan.

Vaihe 6: Jalkojen kokoaminen

Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen
Jalkojen kokoaminen

Kun kaikki linkit ja kiinnikkeet on koottu, voit aloittaa robotin neljän jalan rakentamisen. Aloita kiinnittämällä servot kiinnikkeisiin 4 x M4 -pultilla ja mutterilla. Varmista, että kohdistat servon akselin toisella puolella olevan ulkonevan pultin kanssa.

Yhdistä seuraavaksi lonkkaservo polviservoon servosarven linkin avulla. Älä vielä käytä ruuvia ruuvin kiinnittämiseen servomoottorin akselille, koska meidän on ehkä säädettävä asentoa myöhemmin. Asenna vastakkaiselle puolelle laakerilinkki, joka sisältää kaksi laakeria, muttereilla ulkoneviin pultteihin.

Toista tämä prosessi muille kolmelle jalalle ja neljä jalkaa nelijalkaiselle ovat valmiita!

Vaihe 7: Rungon kokoaminen

Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen
Kehon kokoaminen

Seuraavaksi voimme keskittyä robotin kehon rakentamiseen. Runko sisältää neljä servomoottoria, jotka antavat jaloille kolmannen vapausasteen. Aloita kiinnittämällä servo 4 x M4 -pultilla ja napilla laserleikatun servopidikkeen paneeliin.

Huomautus: Varmista, että servo on kiinnitetty siten, että akseli on kappaleen ulkosivulla, kuten yllä olevissa kuvissa näkyy. Toista tämä prosessi muille kolmelle servomoottorille pitäen suunta huomioon.

Kiinnitä seuraavaksi L-tuet paneelin molemmille puolille kahdella M4-mutterilla ja -pultilla. Tämän kappaleen avulla voimme kiinnittää servopidikkeen paneelin lujasti yläpaneeliin. Toista tämä prosessi kahdella L-tuella ja toisella servopidikkeen paneelilla, joka pitää kiinni toisesta servomoottorisarjasta.

Kun L -tuet ovat paikoillaan, kiinnitä servopidikkeen paneeli yläpaneeliin käyttämällä enemmän M4 -muttereita ja -pultteja. Aloita ulkoisista muttereista ja ruuveista (eteen ja taakse). Keskimmäiset mutterit ja pultit pitävät myös arduino -pidikettä alhaalla. Kiinnitä arduino -pidike ylhäältä yläpaneeliin neljällä mutterilla ja pultilla ja kohdista pultit siten, että ne menevät myös L -tukireikien läpi. Katso selvennyksiä yllä olevista kuvista. Työnnä lopuksi neljä mutteria servopidikkeen paneelien aukkoihin ja kiinnitä servopidikkeen paneelit yläpaneeliin ruuveilla.

Vaihe 8: Yhdistä kaikki

Kokonaisuuden yhdistäminen
Kokonaisuuden yhdistäminen
Kokonaisuuden yhdistäminen
Kokonaisuuden yhdistäminen
Kokonaisuuden yhdistäminen
Kokonaisuuden yhdistäminen

Kun jalat ja runko on koottu, voit aloittaa kokoonpanoprosessin viimeistelyn. Asenna neljä jalkaa neljään servoon käyttämällä servosarvia, jotka oli kiinnitetty lonkkaservokannattimeen. Käytä lopuksi laakeripidikkeen kappaleita tukemaan lonkkatuen vastakkaista akselia. Vie akseli laakerin läpi ja kiinnitä se pultilla. Kiinnitä laakeripidikkeet yläpaneeliin kahdella M4 -mutterilla ja -pultilla.

Tämän ansiosta quadupedin laitteistokokoonpano on valmis.

Vaihe 9: Johdotus ja piiri

Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri
Johdotus ja piiri

Päätin käyttää anturisuojaa, joka tarjosi liitännät servomoottoreille. Suosittelen, että käytät anturisuojaa v5, koska siinä on sisäinen ulkoinen virtalähde. Käyttämässäni ei kuitenkaan ollut tätä vaihtoehtoa. Tarkasteltaessa anturisuojaa tarkemmin huomasin, että anturikilpi sai virtaa Arduinon sisäisestä 5 voltin nastasta (mikä on kauhea idea suuritehoisten servomoottoreiden osalta, koska olet vaarassa vahingoittaa Arduinoa). Korjaus tähän ongelmaan oli taivuttaa anturin suojuksen 5v -nasta pois tieltä, jotta se ei muodosta yhteyttä Arduinon 5v -nastaan. Tällä tavoin voimme nyt tarjota ulkoista virtaa 5 voltin tapin kautta vahingoittamatta Arduinoa.

12 servomoottorin signaalitappien liitännät on esitetty alla olevassa taulukossa.

Huomautus: Hip1Servo viittaa runkoon kiinnitettyyn servoon. Hip2Servo viittaa jalkaan kiinnitettyyn servoon.

Jalka 1 (eteenpäin vasemmalla):

  • Hip1Servo >> 2
  • Hip2Servo >> 3
  • Polviservo >> 4

Jalka 2 (eteenpäin oikealla):

  • Hip1Servo >> 5
  • Hip2Servo >> 6
  • Polviservo >> 7

Jalka 3 (takana vasemmalla):

  • Hip1Servo >> 8
  • Hip2Servo >> 9
  • Polviservo >> 10

Jalka 4 (oikea takaosa):

  • Hip1Servo >> 11
  • Hip2Servo >> 12
  • Polviservo >> 13

Vaihe 10: Alkuasetukset

Alkuasennus
Alkuasennus
Alkuasennus
Alkuasennus

Ennen kuin aloitamme monimutkaisten kävelyjen ja muiden liikkeiden ohjelmoinnin, meidän on asetettava jokaisen servon nollapisteet. Tämä antaa robotille vertailupisteen, jota se käyttää eri liikkeiden suorittamiseen.

Voit välttää robotin vahingoittumisen poistamalla servosarven linkit. Lataa seuraavaksi alla oleva koodi. Tämä koodi asettaa jokaisen servon 90 asteen kulmaan. Kun servot ovat saavuttaneet 90 asteen asennon, voit kiinnittää nivelet uudelleen siten, että jalat ovat täysin suoria ja runkoon kiinnitetty servo on kohtisuorassa nelijalkaisen yläpaneeliin nähden.

Tässä vaiheessa servosarvien rakenteen vuoksi jotkin liitokset eivät vieläkään ole täysin suoria. Ratkaisu tähän on säätää koodin 4. rivillä olevaa zeroPositions -matriisia. Jokainen numero edustaa vastaavan servon nollapistettä (järjestys on sama kuin järjestys, jossa liitit servon Arduinoon). Säädä näitä arvoja hieman, kunnes jalat ovat täysin suoria.

Huomautus: Tässä ovat arvot, joita käytän, vaikka nämä arvot eivät ehkä toimi sinulle:

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

Vaihe 11: Hieman kinematiikasta

Hieman kinematiikasta
Hieman kinematiikasta
Hieman kinematiikasta
Hieman kinematiikasta
Hieman kinematiikasta
Hieman kinematiikasta

Saadaksesi nelijalkaiset suorittamaan hyödyllisiä toimintoja, kuten juoksua, kävelyä ja muita liikkeitä, servot on ohjelmoitava liikeradoina. Liikepolut ovat polkuja, joita pitkin päätehoste (tässä tapauksessa jalat) kulkevat. Tähän on kaksi tapaa:

  1. Yksi lähestymistapa olisi syöttää eri moottorien nivelkulmat raa'alla voimalla. Tämä lähestymistapa voi olla aikaa vievää, työlästä ja täynnä virheitä, koska tuomio on puhtaasti visuaalinen. Sen sijaan on fiksumpi tapa saavuttaa halutut tulokset.
  2. Toinen lähestymistapa pyörii lopputoimittajan koordinaattien syöttämisen kaikkien nivelkulmien sijasta. Tätä kutsutaan käänteiseksi kinematiikaksi. Käyttäjän syöttämät koordinaatit ja nivelkulmat säätyvät siten, että päätetoiminto asetetaan määritetyille koordinaateille. Tätä menetelmää voidaan pitää mustana laatikkona, joka ottaa tuloina koordinaatin ja tulostaa liitoksen kulmat. Niille, jotka ovat kiinnostuneita siitä, miten tämän mustan laatikon trigonometriset yhtälöt kehitettiin, voit katsoa yllä olevaa kaaviota. Niille, jotka eivät ole kiinnostuneita, yhtälöt on jo ohjelmoitu ja niitä voidaan käyttää käyttämällä pos -funktiota, joka käyttää tulona x, y, z, joka on päätelaitteen suorakulmainen sijainti ja antaa kolme moottoria vastaavaa kulmaa.

Ohjelma, joka sisältää nämä toiminnot, löytyy seuraavassa vaiheessa.

Vaihe 12: Nelijalkaisten ohjelmointi

Nelijalkaisten ohjelmointi
Nelijalkaisten ohjelmointi

Kun johdotus ja alustus on valmis, voit ohjelmoida robotin ja luoda viileitä liikepolkuja niin, että robotti suorittaa mielenkiintoisia tehtäviä. Ennen kuin jatkat, muuta liitetyn koodin neljäs rivi arvoiksi, jotka asetit alustusvaiheessa. Ohjelman lataamisen jälkeen robotin pitäisi alkaa kävellä. Jos huomaat, että jotkin nivelet ovat päinvastaisia, voit yksinkertaisesti muuttaa vastaavaa suunta -arvoa rivin 5 suunnataulukossa (jos se on 1, tee siitä -1 ja jos se on -1, tee se 1).

Vaihe 13: Lopputulokset: Aika kokeilla

Lopputulokset: Aika kokeilla
Lopputulokset: Aika kokeilla
Lopputulokset: Aika kokeilla
Lopputulokset: Aika kokeilla
Lopputulokset: Aika kokeilla
Lopputulokset: Aika kokeilla

Nelinjalkainen robotti voi ottaa askelia, jotka vaihtelevat 5–2 cm: n pituisina. Myös nopeutta voidaan muuttaa pitäen kävely tasapainossa. Tämä nelijalkainen tarjoaa vankan alustan kokeilla erilaisia muita askeleita ja muita tavoitteita, kuten hyppäämistä tai tehtävien suorittamista. Suosittelen, että yrität muuttaa jalkojen liikepolkuja luodaksesi omat kävelysi ja selvittääksesi, kuinka erilaiset askeleet vaikuttavat robotin suorituskykyyn. Olen myös jättänyt useita kiinnityspisteitä robotin yläosaan lisäanturille, kuten etäisyydenmittausanturit esteiden välttämiseen tai IMU dynaamisiin liikkeisiin epätasaisessa maastossa. Voitaisiin myös kokeilla robotin yläosaan asennettua lisäkahvaa, koska robotti on erittäin vakaa ja kestävä, eikä se kaatu helposti.

Toivottavasti pidit tästä Instructable -ohjelmasta ja se on inspiroinut sinua rakentamaan oman.

Jos pidit projektista, tue sitä pudottamalla ääni "Make it Move Contest" -kilpailussa.

Hyvää tekemistä!

Tee siitä siirtokilpailu 2020
Tee siitä siirtokilpailu 2020
Tee siitä siirtokilpailu 2020
Tee siitä siirtokilpailu 2020

Toinen palkinto Make it Move -kilpailussa 2020

Suositeltava: