Sisällysluettelo:
- Vaihe 1: Komponentit
- Vaihe 2: 3D -tulostuskomponentit
- Vaihe 3: Käärmeiden kokoaminen
- Vaihe 4: Piiri
- Vaihe 5: Käärmeen virta
- Vaihe 6: Testaa, että kaikki toimii
- Vaihe 7: Koodi
- Vaihe 8: Punnitsee pyörät
- Vaihe 9: Liukuva liike (yksiakselinen käärme)
Video: Bioinspired Robotic Snake: 16 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Innostuin aloittamaan tämän projektin nähtyäni tutkimusvideoita sekä puusta kiipeilevistä robotikäärmeistä että robottiankeriaista. Tämä on ensimmäinen yritykseni rakentaa robotteja serpentiiniliikennettä käyttäen, mutta se ei ole viimeinen! Tilaa YouTube, jos haluat nähdä tulevaa kehitystä.
Alla esitän kahden erilaisen käärmeen rakentamisen sekä 3D-tulostustiedostot ja keskustelun koodista ja algoritmeista käärmeen kaltaisen liikkeen aikaansaamiseksi. Jos haluat jatkaa oppimista, suosittelen lukemaan tämän ohjeen lukemisen jälkeen tämän sivun alareunan viiteosion linkit.
Tämä ohje on teknisesti 2-in-1, koska selitän kuinka tehdä 2 erilaista versiota robottikäärmeestä. Jos olet kiinnostunut vain yhden käärmeen rakentamisesta, jätä huomiotta toisen käärmeen ohjeet. Näihin kahteen eri käärmeeseen viitataan tästä lähtien käyttämällä seuraavia lauseita keskenään:
- Yksiakselinen käärme, 1D -käärme tai keltainen ja musta käärme
- Kaksiakselinen käärme, 2D -käärme tai valkoinen käärme
Tietenkin voit tulostaa käärmeet haluamallasi värillisellä filamentilla. Ainoa ero kahden käärmeen välillä on se, että 2D -käärmeessä jokainen moottori pyörii 90 astetta edelliseen verrattuna, kun taas 1D -käärmeessä kaikki moottorit on kohdistettu yhdelle akselille.
Viimeinen esipuhe on, että vaikka jokaisella käärmeelläni on vain 10 servoa, on mahdollista tehdä käärmeistä enemmän tai vähemmän servoja. Yksi asia, joka on otettava huomioon, on se, että pienemmillä servoilla saavutat vähemmän onnistuneen liikkeen ja enemmän servoja luultavasti onnistut paremmin serpentiiniliikkeellä, mutta sinun on otettava huomioon kustannukset, nykyinen piirustus (katso myöhemmät huomautukset) ja nastojen määrä saatavilla Arduinosta. Voit vapaasti muuttaa käärmeen pituutta, mutta muista, että sinun on myös muutettava koodia tämän muutoksen huomioon ottamiseksi.
Vaihe 1: Komponentit
Tämä on yksittäisen käärmeen osaluettelo, jos haluat tehdä molemmat käärmeet, sinun on kaksinkertaistettava komponenttien tilavuus.
- 10 MG996R -servoa*
- 1,75 mm: n 3D -tulostuslanka
- 10 kuulalaakeria, osanumero 608 (pelastin omani Jitterspin -lenkkeilijöiden ulkoreunalta)
- 20 pientä kuulalaakeria, osanumero r188, pyörille ** (pelastin omani Jitterspin -lenkkeilijöiden sisäosasta)
- 40 Philips-ruuvia 6-32 x 1/2 "(tai vastaava)
- 8 pidempää ruuvia (minulla ei ole osanumeroa, mutta niiden halkaisija on sama kuin yllä olevat ruuvit)
- Vähintään 20 kappaletta 4 tuuman vetoketjuja (voit päättää, kuinka monta haluat käyttää)
- 5 m punaista ja mustaa 20 gaugen lankaa tai paksumpaa ***
- Vakiovarusteinen 22 -ulkoinen johto
- 30 urospistoketta (jaettu 10 erään 3)
- Arduino Nano
- 3D -tulostetut osat (katso seuraava osa)
- Jotkut virran muodot (katso lisätietoja osiosta "Käärmeen virtalähde"), käytin henkilökohtaisesti muutettua ATX -virtalähdettä
- 1000uF 25V elektrolyyttikondensaattori
- Eri kokoisia kutisteputkia, juotetta, liimaa ja muita työkaluja
*Voit käyttää muita tyyppejä, mutta sinun on suunniteltava 3D -tiedostot uudelleen servojesi mukaan. Myös jos yrität käyttää pienempiä servoja, kuten sg90, saatat huomata, että ne eivät ole tarpeeksi vahvoja (en ole testannut tätä ja sinun on kokeiltava).
** sinun ei tarvitse käyttää pieniä kuulalaakereita pyörissä, minulla oli vain paljon makaamista. Vaihtoehtoisesti voit käyttää LEGO -vanteita tai muita lelupyöriä.
*** Tämän langan läpi voi kulkea jopa 10 ampeeria, liian ohut ja virta sulaa sen. Katso lisätietoja tältä sivulta.
Vaihe 2: 3D -tulostuskomponentit
Jos teet 1D -käärmeen, tulosta nämä kappaleet.
Jos teet 2D -käärmeen, tulosta nämä kappaleet.
Tärkeä huomautus: Vaaka voi olla väärä! Suunnittelen komponentit Fusion 360: ssä (mm -yksiköinä), vienin mallin.stl -tiedostona MakerBot -ohjelmistoon ja tulostin sen sitten Qidi Tech -kirjoittimella (MakerBot Replicator 2X: n klooniversio). Jossain tämän työnkulun varrella on virhe ja kaikki tulosteeni ovat liian pieniä. En ole pystynyt tunnistamaan virheen sijaintia, mutta korjaan ongelman tilapäisesti jokaisen tulosteen skaalaamiseksi 106%: n kokoon MakerBot -ohjelmistossa.
Tästä syystä varoita, että jos tulostat yllä olevat tiedostot, ne voivat skaalata väärin. Suosittelen tulostamaan vain yhden kappaleen ja tarkistamaan, sopiiko se MG996R -servosi kanssa, ennen kuin tulostat ne kaikki.
Jos tulostat jotain tiedostoista, kerro minulle, mikä tulos on: jos tulostus on liian pieni, juuri oikea, liian suuri ja kuinka monta prosenttia. Yhteistyönä yhteisössä voimme selvittää vian sijainnin käyttämällä erilaisia 3D -tulostimia ja.stl -leikkureita. Kun ongelma on ratkaistu, päivitän tämän osion ja yllä olevat linkit.
Vaihe 3: Käärmeiden kokoaminen
Kokoonpanoprosessi on enimmäkseen sama molemmille käärmeversioille. Ainoa ero on siinä, että 2D -käärmeessä jokainen moottori pyörii 90 astetta edelliseen verrattuna, kun taas 1D -käärmeessä kaikki moottorit on kohdistettu yhdelle akselille.
Aloita ruuvaamalla servo irti, säästä ruuvit ja irrota mustan muovikehyksen ylä- ja alaosat ja varo, ettet menetä hammaspyöriä! Liu'uta servo 3D -tulostettuun kehykseen edellä kuvatulla tavalla. Asenna servokotelon yläosa ja ruuvaa se paikalleen neljällä 6-32 1/2 ruuvilla. Tallenna servokehyksen pohja (jos haluat käyttää sitä myöhemmin myöhemmissä projekteissa) ja vaihda se 3D-muotoon painettu kotelo, ainoa ero on lisänuppi kuulalaakerin liukumista varten. Kierrä servo takaisin yhteen, toista 10 kertaa.
TÄRKEÄÄ: Ennen kuin jatkat, sinun on ladattava koodi Arduinolle ja siirrettävä jokaista servoa 90 astetta. Jos et tee tätä, saatat rikkoa yhden tai useamman servo- ja/tai 3D -tulostetun kehyksen. Jos olet epävarma servon siirtämisestä 90 astetta, katso tämä sivu. Liitä pohjimmiltaan servon punainen johto 5 V: iin Arduinossa, ruskea johto GND: hen ja keltainen johto digitaaliseen nastaan 9, ja lataa sitten koodi linkkiin.
Nyt kun jokainen servo on 90 astetta, jatka:
Yhdistä 10 segmenttiä työntämällä 3D -painettu nuppi yhdestä servokotelosta toisen segmentin reiän sisään ja työnnä sitten servon akseli pienellä voimalla reikäänsä (ks. Yllä olevat kuvat ja video selvyyden vuoksi). Jos teet 1D -käärmeen, kaikki segmentit tulee kohdistaa, jos teet 2D -käärmeen, jokainen segmentti on käännettävä 90 astetta edelliseen segmenttiin nähden. Huomaa, että hännän ja pään runko ovat vain puolet muiden segmenttien pituudesta, yhdistä ne, mutta älä kommentoi pyramidin muotoisia kappaleita ennen kuin olemme lopettaneet johdotuksen.
Kiinnitä x-muotoinen servovarsi ja ruuvaa se paikalleen. Liu'uta kuulalaakeri 3D-painetun nupin päälle, tämä vaatii 2 puolipyöreän pylvään puristamista varovasti yhteen. Riippuen käyttämästäsi hehkulangasta ja täyttötiheydestä, pylväät voivat olla liian hauraita ja napsahtavia, en usko, että näin on, mutta älä kuitenkaan käytä liikaa voimaa. Itse käytin PLA -filamenttia, jossa oli 10% täyte. Kun kuulalaakeri on päällä, sen tulee pysyä lukittuna nupin ulokkeista.
Vaihe 4: Piiri
Piiri on sama molemmille robottikäärmeille. Varmista johdotusprosessin aikana, että jokaisella segmentillä on riittävästi johdotustilaa pyörimään kokonaan, erityisesti 2D -käärmeessä.
Yllä on piirikaavio johdotukselle, jossa on vain 2 servoa. Yritin piirtää piirroksen 10 servolla, mutta se oli liian täynnä. Ainoa ero tämän kuvan ja tosielämän välillä on, että sinun on kytkettävä 8 muuta servoa rinnakkain ja kytkettävä PWM -signaalijohdot Arduino Nanon nastoihin.
Kytkiessäni voimalinjoja käytin yksittäistä 18 -ulotteista johtoa (tarpeeksi paksu kestämään 10 ampeeria) 5 V: n päälinjana, joka kulkee käärmeen pituudelta. Irrotin langanpoistimilla pienen osan eristimestä 10 säännöllisin väliajoin ja juotin lyhyen langanpalan kustakin näistä väleistä 3 urospistokkeen ryhmän. Toista tämä toinen kerta mustalle 18 G GDD -langalle ja toiselle urosliittimelle. Lopuksi juotetaan pidempi johto 3. urospuoliseen otsatappiin, tämä tappi kuljettaa PWM -signaalin Arduino Nanon servoon käärmeen päässä (langan on oltava riittävän pitkä päästäkseen, vaikka segmentit taipuvat). Kiinnitä tarvittaessa kutisteputki. Kytke 3 urospistoketappia ja 3 johtokaapelia. Toista 10 kertaa jokaiselle 10 servolle. Lopulta tämä saavuttaa servojen kytkemisen rinnakkain ja PWM -signaalijohtojen viemisen nanoon. Uros-/naaraspuolisten otsikkotappien syy oli, että voit helposti irrottaa segmentit ja vaihtaa servot, jos ne rikkoutuvat ilman, että kaikki sulavat.
Juotos GND- ja 5V -johdot 3x7 -reikäiseen perf -levyyn hännässä kondensaattorilla ja ruuviliittimillä. Kondensaattorin tarkoituksena on poistaa kaikki virranottopiikit, jotka aiheutuvat servoja käynnistettäessä ja jotka voivat nollata Arduino Nanon (jos sinulla ei ole kondensaattoria, voit todennäköisesti päästä pois ilman sitä, mutta on parempi olla turvassa). Muista, että elektrolyyttikondensaattoreiden pitkä piikki on kytkettävä 5 V -johtoon ja lyhyempi piikki GND -linjaan. Juotos GND -johto Nanon GND -nastaan ja 5V -johto 5V -napaan. Huomaa, jos käytät eri jännitettä (katso seuraava osa), sano 7,4 V: n Lipo -akku ja kytke sitten punainen johto Vin -nastaan, EI 5 V: n napaan, sillä se tuhoaa nastan.
Juotos 10 PWM -signaalijohto Arduino Nanon nastoihin. Johdotin omani seuraavassa järjestyksessä, voit halutessasi langata omasi eri tavalla, mutta muista vain, että sinun on sitten muutettava servo.attach () -rivit koodissa. Jos olet epävarma siitä, mistä puhun, kytke se vain samalla tavalla kuin minä, eikä sinulla ole ongelmia. Järjestyksessä käärmeen hännän servosta käärmeen päähän langasin molemmat käärmeeni seuraavassa järjestyksessä. Signaalitappien liittäminen: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.
Käytä vetoketjuja johtojen puhdistamiseen. Ennen kuin jatkat, tarkista, että kaikki segmentit voivat liikkua niin, että johdot voivat liikkua ilman, että niitä vedetään irti. Nyt kun johdotus on tehty, voimme ruuvata kiinni pään ja pyramidin muotoiset korkit. Huomaa, että hännässä on reikä kiinnittimen poistamiseksi ja päässä on reikä Arduino -ohjelmointikaapelia varten.
Vaihe 5: Käärmeen virta
Koska servot on kytketty rinnakkain, ne saavat kaikki saman jännitteen, mutta virta on lisättävä. Tarkasteltaessa MG996r -servojen tietolomaketta ne voivat vetää jopa 900 mA: n ajon aikana (olettaen, ettei se pysähdy). Näin ollen kokonaisvirranotto, jos kaikki 10 servoa liikkuvat samanaikaisesti, on 0,9A*10 = 9A. Tavallinen 5v, 2A pistorasiasovitin ei toimi. Päätin muuttaa ATX -virtalähdettä, joka kykenee 5v 20A: een. En aio selittää, miten tämä tehdään, koska siitä on keskusteltu paljon Instructablesissa ja YouTubessa. Pikahaku verkossa näyttää, kuinka voit muuttaa yhtä näistä virtalähteistä.
Olettaen, että olet muuttanut virtalähdettä, se on yksinkertaisesti tapa kytkeä pitkä hihna virtalähteen ja käärmeen ruuviliittimien väliin.
Toinen vaihtoehto on käyttää sisäistä lipoakkua. En ole kokeillut tätä, joten sinun on suunniteltava kiinnitys paristoille ja kytkettävä ne sisään. Muista käyttöjännitteet, servojen ja Arduinon käyttöjännitteet (älä juota mitään muuta kuin 5 V Arduinon 5 voltin nasta, siirry Vin -nastaan, jos sinulla on korkeampi jännite).
Vaihe 6: Testaa, että kaikki toimii
Ennen kuin jatkat, testaa vain, että kaikki toimii. Lataa tämä koodi. Käärmeen tulee liikuttaa jokaista servoa erikseen 0-180 välillä ja lopettaa sitten asettamalla suora. Jos näin ei tapahdu, jokin on vialla, todennäköisesti johdotus on väärä tai servoja ei ole alun perin keskitetty 90 asteen kulmaan, kuten kohdassa "Käärmeiden kokoaminen" on mainittu.
Vaihe 7: Koodi
Tällä hetkellä käärmeelle ei ole kauko -ohjainta, kaikki liike on esiohjelmoitu ja voit valita mitä haluat. Aion kehittää kauko -ohjaimen versioon 2, mutta jos haluat ohjata sitä etänä, suosittelen tutustumaan muihin Instructables -oppaisiin ja mukauttamaan käärmeen Bluetooth -yhteensopivaksi.
Jos teet 1D -käärmeen, lataa tämä koodi.
Jos teet 2D -käärmeen, lataa tämä koodi.
Kehotan sinua leikkimään koodilla, tekemään omia muutoksia ja luomaan uusia algoritmeja. Lue seuraavista useista osista yksityiskohtainen selitys jokaisesta liikkumistyypistä ja sen koodin toiminnasta.
Vaihe 8: Punnitsee pyörät
Yksi tärkeimmistä tavoista, joilla käärmeet voivat siirtyä eteenpäin, on vaa'an muoto. Vaaka mahdollistaa helpomman eteenpäin suuntautuvan liikkeen. Jos haluat lisätietoja, katso tämä video alkaen 3:04 ja katso, kuinka vaa'at auttavat käärmettä eteenpäin. Katsomalla 3:14 samassa videossa näkyy vaikutus, kun käärmeet ovat hihassa ja poistavat vaa'an kitkan. Kuten YouTube -videostani näkyy, kun 1D -robotti -käärme yrittää liukua nurmikolla ilman vaakoja, se ei liiku eteenpäin tai taaksepäin, koska voimat ovat nolla. Sellaisena meidän on lisättävä joitain keinotekoisia asteikkoja robotin vatsaan.
Tutkimus liikkeen uudelleenluomisesta asteikkojen avulla tehtiin Harvardin yliopistossa ja esitettiin tässä videossa. En kyennyt keksimään vastaavaa menetelmää vaakojen siirtämiseksi ylös ja alas robotillani ja sen sijaan tyytyin kiinnittämään passiiviset 3D -painetut vaa'at vatsan alle.
Valitettavasti tämä osoittautui tehottomaksi (katso YouTube -videostani klo 3:38), koska vaa'at kuorivat edelleen maton pinnan yli sen sijaan, että tarttuisivat kuituihin ja lisäisivät kitkaa.
Jos haluat kokeilla tekemiäni mittakaavoja, voit tulostaa tiedostot 3D -muodossa GitHubista. Jos teet omasi onnistuneesti, kerro se minulle alla olevissa kommenteissa!
Eri lähestymistapaa käyttäen yritin käyttää renkaina r188 -kuulalaakereista valmistettuja vanteita, joissa oli lämpöä kutistavia letkuja. Voit tulostaa 3D -muoviset pyörän akselit GitHubin.stl -tiedostoista. Vaikka pyörät eivät ole biologisesti tarkkoja, ne ovat analogisia asteikolle, koska eteenpäin pyöriminen on helppoa, mutta sivuttaisliike on huomattavasti vaikeampaa. Voit nähdä pyörien onnistuneen tuloksen YouTube -videostani.
Vaihe 9: Liukuva liike (yksiakselinen käärme)
Ensimmäinen palkinto Make it Move -kilpailussa
Suositeltava:
Gesture Control Skeleton Bot - 4WD Hercules Mobile Robotic Platform - Arduino IDE: 4 vaihetta (kuvilla)
Gesture Control Skeleton Bot - 4WD Hercules -moottorirobotti - Arduino IDE: Seeedstudio Skeleton Botin valmistama eleidenhallinta -ajoneuvo - 4WD Hercules -moottorialusta. Hauskaa kotona sepelvaltimotautien hallinnan aikana. Ystäväni antoi minulle 4WD Hercules Mobile Robotic Platformin uutena
ESP32 VGA Snake: 5 vaihetta
ESP32 VGA Snake: Tässä ohjeessa näytän kuinka toistaa klassisen arcade -pelin - Snake - ESP32: lla, jossa on VGA -näytön ulostulo. Resoluutio on 640x350 pikseliä, 8 väriä. Olen aiemmin tehnyt version Arduino Unolla (katso täältä), mutta
Arduino Snake VGA -näytöllä: 5 vaihetta
Arduino Snake VGA -näytöllä: No … Ostin Arduinon. Aluksi investointi oli motivoitunut johonkin sellaiseen, joka saisi tyttäreni kiinnostumaan ohjelmoinnista. Kuitenkin, kuten kävi ilmi, tämä asia oli minulle hauskempi pelata. LED -valojen tekemisen jälkeen
MATLAB Robotic Mixologist: 4 vaihetta (kuvilla)
MATLAB Robotic Mixologist: Oletko koskaan halunnut sekoittaa juomasi täydellisesti sinulle muutamassa sekunnissa? Älä etsi enää, Robotic Mixologist on täällä ottamassa aikaa juomien sekoittamiseen. Tämä projekti käyttää RobotGeek Snapper Armia toimimaan
Spielatronin tekeminen (Robotic Glockenspiel): 11 vaihetta (kuvilla)
Spielatronin (Robotic Glockenspiel) tekeminen: Loimme tämän robottisen glockenspielin osista, jotka meillä oli jo ja jotka olivat vielä kokeellisia ja ovat versiossa yksi. Nykyiset rajoitukset ovat monopeli