Sisällysluettelo:
- Vaihe 1: Suunnitteluprosessi
- Vaihe 2: Arduinon rooli
- Vaihe 3: Tarvittavat materiaalit
- Vaihe 4: 3D -tulostetut osat
- Vaihe 5: Servokannattimien valmistelu
- Vaihe 6: Linkkikappaleiden tekeminen
- Vaihe 7: Jalkojen kokoaminen
- Vaihe 8: Mukautettu piirilevy ja johdotus
- Vaihe 9: Rungon kokoaminen
- Vaihe 10: Alkuasetukset
- Vaihe 11: Hieman kinematiikasta
- Vaihe 12: Arduinon ohjelmointi
- Vaihe 13: Lopputulokset: Aika kokeilla
Video: Arduino -ohjattu robotti kaksijalkainen: 13 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Fusion 360 -projektit »
Robotit ovat aina kiinnostaneet minua, erityisesti sellaisia, jotka yrittävät jäljitellä ihmisten toimia. Tämä kiinnostus sai minut yrittämään suunnitella ja kehittää kaksijalkaisen robotin, joka voisi jäljitellä ihmisten kävelyä ja juoksua. Tässä Instructable -ohjelmassa näytän sinulle robottisen kaksijalkaisen 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. Toissijainen tavoite oli tehdä kaksijalkaisesta suhteellisen halpa käyttämällä helposti saatavilla olevia harrastusosia ja 3D-tulostusta, jolloin tilaa uusille päivityksille ja laajennuksille. Nämä kaksi tavoitetta yhdessä luovat vankan perustan erilaisten kokeiden suorittamiselle ja antavat mahdollisuuden kehittää kaksijalkaisia tarkempiin vaatimuksiin.
Luo oma Arduino -ohjattu Robotic Biped ja pudota äänestys Arduino -kilpailussa, jos pidit projektista.
Vaihe 1: Suunnitteluprosessi
Humanoidijalat on suunniteltu Autodeskin ilmaiseen Fusion 360 3D -mallinnusohjelmistoon. Aloitin tuomalla servomoottorit suunnitteluun ja rakensin jalat 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 kaksijalkaista 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.
Huomautus: Osat sisältyvät johonkin seuraavista vaiheista.
Vaihe 2: Arduinon rooli
Tässä projektissa käytettiin Arduino Unoa. Arduinon tehtävänä oli laskea testattujen eri kävelyjen liikeradat ja kehotti toimilaitteita siirtymään tarkkoihin kulmiin tarkilla nopeuksilla tasaisen kävelyliikkeen luomiseksi. Arduino on loistava valinta projektien kehittämiseen sen monipuolisuuden vuoksi. Se tarjoaa joukon IO -nastoja ja tarjoaa myös rajapintoja, kuten sarja-, I2C- ja SPI -yhteyksiä muiden mikro -ohjaimien ja antureiden kanssa kommunikoimiseksi. Arduino tarjoaa myös loistavan alustan nopeaa prototyyppien laatimista ja testausta varten ja antaa myös kehittäjille tilaa parannuksille ja laajennettavuudelle. Tässä projektissa muihin versioihin sisältyy inertiaalinen mittausyksikkö liikkeen käsittelyä varten, kuten putoamisen havaitseminen ja dynaaminen liikkuminen epätasaisessa maastossa, ja etäisyysmittausanturi esteiden välttämiseksi.
Tässä projektissa käytettiin Arduino IDE: tä. (Arduino tarjoaa myös verkkopohjaisen IDE: n)
Huomautus: Robotin ohjelmat voidaan ladata jollakin seuraavista vaiheista.
Vaihe 3: Tarvittavat materiaalit
Tässä on luettelo kaikista komponenteista ja osista, joita tarvitaan oman Arduino -käyttöisen kaksijalkaisen robotin valmistamiseen. Kaikkien osien tulee olla yleisesti saatavilla ja helposti löydettävissä.
ELEKTRONIIKKA:
Arduino Uno x 1
Towerpro MG995 -servomoottori x 6
Perfboard (saman kokoinen kuin Arduino)
Uros- ja naaraspuoliset otsatapit (noin 20 kpl)
Hyppyjohdot (10 kpl)
MPU6050 IMU (valinnainen)
Ultraäänianturi (valinnainen)
LAITTEISTO:
Skeittilaakeri (8x19x7mm)
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)
Ilman Arduinoa ja 3D -tulostinta tämän projektin kokonaiskustannukset ovat 20 dollaria.
Vaihe 4: 3D -tulostetut osat
Tässä projektissa tarvittavat osat oli suunniteltava mittatilaustyönä, joten niiden tulostamiseen käytettiin 3D -tulostinta. Tulosteet tehtiin 40% täyteaineella, 2 kehällä, 0,4 mm: n suuttimella ja 0,1 mm: n kerroksen korkeudella valitsemallasi värillä PLA. Alla on täydellinen luettelo osista ja STL -versiot oman version tulostamiseen.
Huomautus: Tästä eteenpäin osiin viitataan käyttämällä luettelossa olevia nimiä.
- jalan servopidike x 1
- jalan servopidikkeen peili x 1
- polven servopidike x 1
- polven servopidike peili x 1
- jalan servopidike x 1
- jalan servopidikkeen peili x 1
- laakerilinkki x 2
- servosarven linkki x 2
- jalkalenkki x 2
- silta x 1
- elektroniikkakiinnike x 1
- elektroniikan välilevy x 8 (valinnainen)
- servosarven tila x 12 (valinnainen)
Yhteensä, ilman välikappaleita, on 14 osaa. Tulostuksen kokonaisaika on noin 20 tuntia.
Vaihe 5: Servokannattimien valmistelu
Kun kaikki osat on tulostettu, voit aloittaa asentamalla servot ja servokannattimet. Työnnä laakeri ensin polviservopidikkeeseen. Sovituksen tulisi olla tiukka, mutta suosittelen hiomista hieman reiän sisäpintaa sen sijaan, että pakottaisit laakerin, mikä voi vaarantaa osan. Vie sitten M4 -pultti reiän läpi ja kiristä se mutterilla. Tartu seuraavaksi jalkalenkistä ja kiinnitä siihen pyöreä servosarvi mukana toimitetuilla ruuveilla. Kiinnitä jalkalenkki polviservopidikkeeseen ruuveilla, joita käytät myös servomoottorin kiinnittämiseen. Varmista, että kohdistat moottorin siten, että akseli on samalla puolella pulttia, jonka olit kiinnittänyt aiemmin. Kiinnitä lopuksi servo muilla muttereilla ja ruuveilla.
Tee sama lonkka- ja jalka -servopidikkeellä. Tällöin sinulla pitäisi olla kolme servomoottoria ja niitä vastaavat kiinnikkeet.
Huomautus: Annan ohjeet yhden jalan rakentamiseksi, toinen on vain peilikuva.
Vaihe 6: Linkkikappaleiden tekeminen
Kun kiinnikkeet on koottu, aloita linkkien tekeminen. Tee laakerilinkki hiomalla vielä kerran kevyesti laakerin reikien sisäpintaa ja työntämällä laakeri reikään molemmin puolin. Varmista, että työnnät laakeria sisään, kunnes toinen puoli on tasainen. Voit rakentaa servosarven linkin tarttumalla kahteen pyöreään servosarveen ja mukana tuleviin ruuveihin. Aseta sarvet 3D -tulosteen päälle ja kohdista reiät, ruuvaa sitten sarvi 3D -tulostukseen kiinnittämällä ruuvi 3D -tulostuspuolelta. Suosittelen käyttämään näihin ruuveihin 3D -tulostettua servosarven välikappaletta. Kun linkit on rakennettu, voit aloittaa jalan kokoamisen.
Vaihe 7: Jalkojen kokoaminen
Kun linkit ja kiinnikkeet on koottu, voit yhdistää ne rakentaaksesi robotin jalan. Kiinnitä ensin lonkkaservokiinnike ja polviservokannatin toisiinsa servosarven linkillä. Huomautus: Älä ruuvaa äänitorvea servoon vielä, koska seuraavassa vaiheessa on asennusvaihe ja siitä tulee haittaa, jos äänitorvi ruuvattaisiin servomoottoriin.
Asenna laakerilinkki vastakkaiselle puolelle ulkoneviin pultteihin muttereilla. Kiinnitä lopuksi jalan servopidike työntämällä ulkoneva pultti polviservopidikkeen laakerin läpi. Kiinnitä servoakseli servosarveen, joka on liitetty polven servopidikkeeseen toisella puolella. Tämä voi olla hankala tehtävä, ja suosittelen toista kättä.
Toista vaiheet toiselle jalalle. Käytä kunkin vaiheen liitteenä olevia kuvia viitteenä.
Vaihe 8: Mukautettu piirilevy ja johdotus
Tämä on valinnainen vaihe. Jotta voisin tehdä johdotuksen siistimmän, päätin tehdä mukautetun piirilevyn käyttäen perf -levyä ja otsikkotappeja. Piirilevy sisältää portit servomoottorin johtojen liittämiseksi suoraan. Lisäksi jätin myös ylimääräisiä portteja, jos haluaisin laajentaa ja lisätä muita antureita, kuten inertiamittausyksiköitä tai ultraäänietäisyysantureita. Se sisältää myös portin ulkoiselle virtalähteelle, jota tarvitaan servomoottoreiden virransyöttöön. Arduinon USB -liitännän ja ulkoisen virran välillä vaihdetaan hyppyliitännällä. Kiinnitä Arduino ja piirilevy elektroniikkakiinnikkeen kummallekin puolelle ruuveilla ja 3D -tulostetuilla välikappaleilla.
Huomaa: Muista irrottaa hyppyjohto ennen kuin liität Arduinon tietokoneeseen USB -liitännän kautta. Tämän tekemättä jättäminen voi vahingoittaa Arduinoa.
Jos päätät olla käyttämättä piirilevyä ja käyttää sen sijaan leipälevyä, tässä ovat servoliitännät:
- Vasen lonkka >> nasta 9
- Oikea lonkka >> nasta 8
- Vasen polvi >> nasta 7
- Oikea polvi >> nasta 6
- Vasen jalka >> nasta 5
- Oikea jalka >> nasta 4
Jos päätät tehdä piirilevyn noudattamaan samaa järjestystä kuin yllä, käytä PCB: n portteja oikealta vasemmalle IMU -portti ylöspäin. Käytä tavallisia uros -naarashyppyjohtimia PCB: n liittämiseen Arduinoon käyttämällä yllä olevia pin -numeroita. Muista myös liittää maadoitusnasta ja luoda sama maadoituspotentiaali ja Vin -nasta, kun päätät käyttää sitä ilman USB -virtaa.
Vaihe 9: Rungon kokoaminen
Kun kaksi jalkaa ja elektroniikka on koottu, yhdistä ne yhteen rakentaaksesi robotin rungon. Käytä siltakappaletta yhdistämään kaksi jalkaa yhteen. Käytä samoja kiinnitysreikiä lonkkaservopidikkeessä ja muttereita ja ruuveja, jotka pitävät servomoottoria kiinni. Kytke lopuksi elektroniikkakiinnike siltaan. Kohdista sillan ja elektroniikkakiinnikkeen reiät ja tee liitos M4 -muttereilla ja -pultteilla.
Katso apua liitteenä olevista kuvista. Tämän avulla olet suorittanut robotin laitteistorakennuksen loppuun. Seuraavaksi siirrytään ohjelmistoon ja herätetään robotti elämään.
Vaihe 10: Alkuasetukset
Tämän projektin rakentamisen aikana olen huomannut, että servomoottoreiden ja sarvien ei tarvitse kohdata täydellisesti pysyäkseen suhteellisen yhdensuuntaisina. Siksi jokaisen servomoottorin "keskiasento" on säädettävä manuaalisesti jalkojen suuntaiseksi. Tämän saavuttamiseksi irrota servosarvet kustakin servosta ja suorita initial_setup.ino -luonnos. Kun moottorit ovat asettuneet keskiasentoonsa, kiinnitä sarvet takaisin niin, että jalat ovat täysin suoria ja jalka on täysin yhdensuuntainen maan kanssa. Jos näin on, olet onnekas. Jos ei, avaa viereisestä välilehdestä löytyvä Constants.h-tiedosto ja muuta servo-offset-arvoja (rivit 1-6), kunnes jalat ovat täysin kohdakkain ja jalka on tasainen. Pelaa arvojen kanssa ja saat käsityksen siitä, mikä sinun tapauksessasi on välttämätöntä.
Kun vakiot on asetettu, merkitse nämä arvot muistiin, koska niitä tarvitaan myöhemmin.
Katso apua kuvista.
Vaihe 11: Hieman kinematiikasta
Jotta kaksijalkainen voisi suorittaa hyödyllisiä toimintoja, kuten juoksemista ja kävelyä, eri askeleet on ohjelmoitava liikeradoina. Liikepolut ovat polkuja, joita pitkin päätehoste (tässä tapauksessa jalat) kulkevat. Tähän on kaksi tapaa:
- 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.
- 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 -toimintoa, joka ottaa tuloksi x, z ja antaa kolme moottoria vastaavaa kulmaa.
Ohjelma, joka sisältää nämä toiminnot, löytyy seuraavassa vaiheessa.
Vaihe 12: Arduinon ohjelmointi
Ennen Arduinon ohjelmointia tiedostoon on tehtävä pieniä muutoksia. Muistatko vakioita, joita pyysin sinua poistamaan muistiinpanon? Muokkaa samoja vakioita arvoihin, jotka olet määrittänyt Constants.h -tiedostossa.
Huomautus: Jos olet käyttänyt tämän ohjeen malleja, sinulla ei ole mitään muutettavaa. Jos jotkut teistä ovat tehneet omia suunnitelmiaan, joudut muuttamaan muutamia muita arvoja ja siirtymiä. Vakio l1 mittaa lonkan ja polven nivelen välistä etäisyyttä. Vakio l2 mittaa polven ja nilkan saranan välisen etäisyyden. Joten jos olet suunnitellut oman mallisi, mittaa nämä pituudet ja muokkaa vakioita. Kahta viimeistä vakiota käytetään askeliin. StepClearance -vakio mittaa, kuinka korkealle jalka nousee astuessaan eteenpäin askeleen jälkeen, ja stepHeight -vakio mittaa korkeuden maasta lonkkaan, kun se ottaa askeleita.
Kun kaikkia vakioita on muokattu tarpeidesi mukaan, voit ladata pääohjelman. Pääohjelma yksinkertaisesti alustaa robotin kävelyasentoon ja alkaa ottaa askelia eteenpäin. Toimintoja voidaan muokata tarpeen mukaan tutkiaksesi eri askelia, nopeuksia ja askelpituuksia nähdäksesi mikä toimii parhaiten.
Vaihe 13: Lopputulokset: Aika kokeilla
Kaksijalkainen voi ottaa askelia, jotka vaihtelevat 10 - 2 cm pitkiä ilman kaatumista. Myös nopeutta voidaan muuttaa pitäen kävely tasapainossa. Tämä kaksijalkainen yhdistettynä Arduinon voimaan tarjoaa vankan alustan kokeilla erilaisia muita askeleita ja muita tavoitteita, kuten hyppäämistä tai tasapainottamista pallon potkiessa. Suosittelen, että yrität muuttaa jalkojen liikepolkuja luodaksesi omat kävelysi ja selvittääksesi, kuinka erilaiset askeleet vaikuttavat robotin suorituskykyyn. Järjestelmään voidaan lisätä antureita, kuten IMU ja etäisyysanturi, parantaakseen sen toimintoja, kun taas voimalle voidaan lisätä jalkoja, jotta voidaan kokeilla dynaamista liikkumista epätasaisilla pinnoilla.
Toivottavasti pidit tästä Instructable -ohjelmasta ja se on tarpeeksi inspiraatiota oman rakentamiseen. Jos pidit projektista, tue sitä pudottamalla äänestys "Arduino -kilpailussa".
Hyvää tekemistä!
Ensimmäinen palkinto Arduino -kilpailussa 2020
Suositeltava:
3D -tulostettu Arduino -käyttöinen nelijalkainen robotti: 13 vaihetta (kuvilla)
3D -painettu Arduino -käyttöinen nelijalkainen robotti: 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 kokeilla ja tehdä nelijalkaisen robotin, joka kykenee matkimaan eläimiä, kuten koiraa
Tasapainotusrobotti / 3 -pyöräinen robotti / STEM -robotti: 8 vaihetta
Tasapainotusrobotti / 3 -pyöräinen robotti / STEM -robotti: Olemme rakentaneet yhdistetyn tasapainotus- ja kolmipyörärobotin koulukäyttöön kouluissa ja koulujen jälkeen. Robotti perustuu Arduino Unoon, mukautettuun kilpeen (kaikki rakenteelliset tiedot toimitetaan), Li -ion -akkuun (kaikki
Voi -robotti: Arduino -robotti eksistentiaalisen kriisin kanssa: 6 vaihetta (kuvilla)
Voi -robotti: Arduino -robotti eksistentiaalisessa kriisissä: Tämä projekti perustuu animaatiosarjaan "Rick and Morty". Yhdessä jaksossa Rick tekee robotin, jonka ainoa tarkoitus on tuoda voita. Bruface -opiskelijoina (Brysselin teknillinen tiedekunta) meillä on tehtävä mecha
LED -matriisijoukon ohjaaminen Arduino Unolla (Arduino -käyttöinen robotti): 4 vaihetta (kuvilla)
LED -matriisiohjaimen ohjaaminen Arduino Unolla (Arduino -käyttöinen robottikasvo): Tämä ohje näyttää kuinka hallita 8x8 LED -matriisiryhmää Arduino Unolla. Tätä opasta voidaan käyttää luomaan yksinkertainen (ja suhteellisen halpa näyttö) omille projekteillesi. Tällä tavalla saatat näyttää kirjaimia, numeroita tai mukautettuja animaatioita
Rakenna hyvin pieni robotti: Tee maailman pienimmästä pyörillä varustettu robotti tarttumalla: 9 vaihetta (kuvilla)
Rakenna hyvin pieni robotti: Tee maailman pienimmästä pyörillä varustettu robotti tarttumalla: Rakenna 1/20 kuutiometrin robotti, jossa on tarttuja, joka voi poimia ja siirtää pieniä esineitä. Sitä ohjaa Picaxe -mikrokontrolleri. Uskon, että tällä hetkellä tämä voi olla maailman pienin pyörillä varustettu robotti, jossa on tarttuja. Se epäilemättä ch