Kazalo:
- 1. korak: Komponente
- Korak: Komponente 3D tiskanja
- 3. korak: Sestavljanje kač
- 4. korak: Vezje
- 5. korak: Napajanje kače
- 6. korak: Preverite, ali vse deluje
- 7. korak: Koda
- 8. korak: Lestvice proti kolescem
- 9. korak: Drseče gibanje (kača z eno osjo)
Video: Bioinspired Robotic Snake: 16 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Navdihnil sem se za začetek tega projekta, potem ko sem si ogledal raziskovalne video posnetke robotskih kač, ki plezajo po drevesih, in robotskih jegulj. To je moj prvi poskus in izdelava robotov s pomočjo serpentine locomotion, vendar ne bo moj zadnji! Če želite videti prihodnji razvoj, se naročite na YouTube.
Spodaj opisujem konstrukcijo dveh različnih kač skupaj z datotekami za 3D tiskanje in razpravo o kodi in algoritmih za doseganje kačjega gibanja. Če želite nadaljevati z učenjem, vam po branju tega navodila svetujem, da preberete povezave v razdelku s sklici na dnu strani.
Ta navodila so tehnično 2-v-1, saj razlagam, kako narediti 2 različici robotske kače. Če vas zanima samo izgradnja ene od kač, prezrite navodila za drugo kačo. Od zdaj naprej bosta ti dve različni kači omenjeni z uporabo naslednjih stavkov:
- Kača z eno osjo, 1D kača ali rumena in črna kača
- Dvoosna kača, 2D kača ali bela kača
Seveda lahko kače natisnete v kateri koli barvni filament, ki ga želite. Edina razlika med obema kačama je, da se pri 2D kači vsak motor vrti za 90 stopinj glede na prejšnjega, medtem ko so pri 1D kači vsi motorji poravnani v eni osi.
Zadnji uvod je, da čeprav ima vsaka od mojih kač le 10 servomotorjev, je mogoče narediti kače z več ali manj servomotorji. Ena stvar, ki jo je treba upoštevati, je, da boste z manj servomotorjev dosegli manj uspešno gibanje, z več servomotorji pa boste verjetno bolj uspešni s serpentinskim gibanjem, vendar boste morali upoštevati stroške, trenutno porabo (glej poznejše opombe) in število zatičev na voljo na Arduinu. Spremenite dolžino kače, vendar ne pozabite, da boste morali spremeniti tudi kodo, ki bo upoštevala to spremembo.
1. korak: Komponente
To je seznam delov za eno kačo, če želite narediti obe kači, boste morali podvojiti količino komponent.
- 10 servomotorjev MG996R*
- 1,75 mm nit za 3D tiskanje
- 10 krogličnih ležajev, številka dela 608 (svojega sem rešil z zunanjega roba vrtalnikov Jitterspin)
- 20 majhnih krogličnih ležajev, številka dela r188, za kolesa ** (svojega sem rešil iz notranjega dela vrtalnikov Jitterspin)
- 40 vijakov z glavo Philips 6-32 x 1/2 "(ali podobnih)
- 8 daljših vijakov (nimam številke dela, vendar so enakega premera kot zgornji vijaki)
- Vsaj 20 kosov 4 -palčnih zadrg (odvisno od vas, koliko jih želite uporabiti)
- Po 5 m rdeče in črne žice 20 debeline ali debelejše ***
- Standardna 22 -žilna žica
- 30 moških zatičev glave (razdeljeno na 10 sklopov po 3)
- Arduino Nano
- 3D natisnjeni deli (glejte naslednji razdelek)
- Neka oblika napajanja (za več informacij glejte poglavje: "Napajanje kače"), osebno sem uporabil spremenjen napajalnik ATX
- 1000uF 25V elektrolitski kondenzator
- Termoskrčljive cevi različnih velikosti, spajkanje, lepilo in druga različna orodja
*lahko uporabite druge vrste, vendar boste morali preoblikovati datoteke 3D, da bodo ustrezale vašim servomotorjem. Tudi če poskusite uporabiti manjše servomotorje, kot je sg90, se vam bo morda zdelo, da niso dovolj močni (tega nisem preizkusil in na vas je, da poskusite).
** za kolesa vam ni treba uporabljati majhnih krogličnih ležajev, samo veliko sem ležala naokoli. Lahko pa uporabite kolesa LEGO ali druga kolesa za igrače.
*** Ta žica lahko prehaja do 10 amperov, preveč tanka in tok jo bo stopil. Za več informacij si oglejte to stran.
Korak: Komponente 3D tiskanja
Če izdelujete 1D kačo, natisnite te kose.
Če izdelujete 2D kačo, natisnite te kose.
Pomembna opomba: lestvica je morda napačna! Svoje komponente sem oblikoval v Fusion 360 (v mm enotah), izvozil kot datoteko.stl v programsko opremo MakerBot in jo nato natisnil na tiskalniku Qidi Tech (klonska različica MakerBot Replicator 2X). Nekje ob tem poteku dela je napaka in vsi moji odtisi so premajhni. Nisem mogel določiti lokacije hrošča, vendar imam začasno popravljeno razširitev vsakega tiska na velikost 106% v programski opremi MakerBot, to odpravlja težavo.
Glede na to vas opozarjamo, da so zgornje datoteke morda natisnjene nepravilno. Predlagam, da natisnete samo en kos in pred tiskanjem preverite, ali ustreza vašemu servomotorju MG996R.
Če tiskate katero koli datoteko, mi sporočite, kakšen je rezultat: če je natis premajhen, ravno prav velik, prevelik in za koliko odstotkov. S sodelovanjem kot skupnost lahko odpravimo težave z lokacijo hrošča z različnimi 3D tiskalniki in.stl rezalniki. Ko bo težava odpravljena, bom posodobil ta razdelek in zgornje povezave.
3. korak: Sestavljanje kač
Postopek sestavljanja je pri obeh različicah kače večinoma enak. Edina razlika je v tem, da je pri 2D kači vsak motor zasukan za 90 stopinj glede na prejšnjega, medtem ko so pri 1D kači vsi motorji poravnani v eni osi.
Začnite tako, da odvijete servo, shranite vijake in odstranite zgornji in spodnji del črnega plastičnega okvirja ter pazite, da ne izgubite zobnikov! Servo potisnite v okvir 3D, natisnjen, kot na zgornjih slikah. Zamenjajte zgornji del servo ohišja in ga privijte s štirimi 6-32 1/2 vijaki. Shranite spodnji del servo okvirja (če ga želite znova uporabiti v kasnejših projektih) in ga zamenjajte s 3D tiskano ohišje, razlika je le v dodatnem gumbu za zdrs krogličnega ležaja. Privijte servo nazaj skupaj, ponovite 10 -krat.
POMEMBNO: Preden nadaljujete, morate naložiti kodo v Arduino in premakniti vsak servo na 90 stopinj. Če tega ne storite, lahko poškodujete enega ali več servo in/ali 3D natisnjenih okvirjev. Če niste prepričani, kako premakniti servo na 90 stopinj, si oglejte to stran. V bistvu rdečo žico servomotorja priključite na 5V na Arduinu, rjavo žico na GND in rumeno žico na digitalni pin 9, nato kodo naložite na povezavo.
Zdaj, ko je vsak servo pod 90 stopinjami, nadaljujte:
Povežite 10 segmentov tako, da vstavite 3D natisnjeni gumb iz enega servo ohišja v luknjo drugega kosa segmenta, nato pa z malo sile potisnite os servo v njeno luknjo (za jasnost glejte zgornje slike in video). Če izdelujete 1D kačo, morajo biti vsi segmenti poravnani, če izdelujete 2D kačo, je treba vsak segment zavrtiti za 90 stopinj glede na prejšnji segment. Upoštevajte, da sta rep in okvir glave le polovica dolžine drugih segmentov, povežite jih, vendar ne komentirajte kosov v obliki piramide, dokler ne končamo ožičenja.
Pritrdite servo ročico v obliki črke X in jo privijte v položaj. Kroglični ležaj potisnite čez 3D natisnjen gumb, to bo zahtevalo nežno stiskanje dveh polkrožnih stebrov skupaj. Glede na to, katero znamko filamentov uporabljate in gostoto polnjenja, so stebrički morda preveč krhki in trkajoči, mislim, da temu ne bo tako, vendar kljub temu ne uporabljajte pretirane sile. Osebno sem uporabil PLA filament z 10% polnitvijo. Ko je kroglični ležaj vklopljen, mora ostati zaklenjen s previsi na gumbu.
4. korak: Vezje
Vezje je enako za obe robotski kači. Med postopkom ožičenja se prepričajte, da je dovolj prostora za ožičenje, da se lahko vsak segment popolnoma vrti, zlasti pri 2D kači.
Zgoraj je shema vezja za samo 2 servomotorja. Poskusil sem narediti risbo vezja z 10 servomotorji, vendar je postalo preveč prenatrpano. Edina razlika med to sliko in resničnim življenjem je, da morate vzporedno priključiti še 8 servomotorjev in signalne žice PWM priključiti na nožice na Arduino Nano.
Pri ožičenju daljnovodov sem uporabil en kos 18 -palčne žice (dovolj debel, da prenese 10 amperov) kot glavno napetost 5 V, ki teče po dolžini kače. Z odstranjevalci žic sem v 10 rednih časovnih presledkih odstranil majhen del izolatorja in iz vsakega od teh intervalov spajkal kratek kos 3 moških zatičev glave. To ponovite drugič za črno 18 -milimetrsko žico GND in drugi moški zatič glave. Končno spajkajte daljšo žico na tretji moški zatič glave, ta pin bo prenašal signal PWM na servo iz Arduino Nano v glavi kače (žica mora biti dovolj dolga, da jo lahko dosežete, tudi če se segmenti upognejo). Po potrebi pritrdite toplotno skrčljivo cev. Priključite 3 moške zatiče za glavo in 3 zatiče za glavo na servo žicah. Ponovite 10 -krat za vsakega od 10 servomotorjev. Nenazadnje s tem dosežemo vzporedno ožičenje servomotorjev in vodenje signalnih žic PWM na Nano. Razlog za moške/ženske zatiče glave je bil v tem, da lahko segmente zlahka razstavite in zamenjate servomotorje, če se zlomijo, ne da bi vse spajkali.
Spajate žice GND in 5V na ploščo z luknjo 3x7 v repu s kondenzatorjem in vijačnimi sponkami. Namen kondenzatorja je odstraniti vse napetosti, ki nastanejo pri zagonu servomotorjev, kar lahko ponastavi Arduino Nano (če nimate kondenzatorja, lahko brez njega pobegnete, vendar je bolje, da ste varni). Ne pozabite, da je treba dolg rog elektrolitskih kondenzatorjev priključiti na 5V vod, krajši pa na GND. Spajate žico GND na pin GND Nano in žico 5V na pin 5V. Upoštevajte, če uporabljate drugačno napetost (glejte naslednji razdelek), recimo Lipo baterijo s 7,4 V, nato priključite rdečo žico na pin Pin, NE na 5V pin, če to storite, bo pin poškodovan.
Spajkajte 10 signalnih žic PWM na zatiče na Arduino Nano. Svojega sem ožičil v naslednjem vrstnem redu, lahko se odločite, da svoje povežete drugače, vendar ne pozabite, da boste morali nato spremeniti vrstice servo.attach () v kodi. Če niste prepričani, o čem govorim, to povežite na enak način kot jaz in ne boste imeli težav. Od servo na repu kače do glave kače sem obe kači ožičil v naslednjem vrstnem redu. Priključitev signalnih zatičev na: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.
Za čiščenje ožičenja uporabite zadrge. Preden nadaljujete, preverite, ali se lahko vsi segmenti premaknejo z dovolj prostora, da se žice premikajo, ne da bi jih ločili. Ko je ožičenje končano, lahko privijemo pokrovčke v obliki glave in repa v obliki piramide. Upoštevajte, da ima rep luknjo za izstop priveza, v glavi pa luknjo za programski kabel Arduino.
5. korak: Napajanje kače
Ker so servomotorji ožičeni vzporedno, imajo vsi enako napetost, vendar je treba sešteti tok. Če pogledamo podatkovni list za servomotorje MG996r, lahko med delovanjem porabijo do 900 mA (ob predpostavki, da ne zastaja). Tako je skupni tok, če se hkrati premika vseh 10 servomotorjev 0,9A*10 = 9A. Običajni 5v, 2A adapter za stensko vtičnico ne bo deloval. Odločil sem se, da spremenim napajalnik ATX, sposoben 5v pri 20A. Ne bom razlagal, kako to storiti, saj je bilo o Instructables in YouTubu že veliko govora. Hitro iskanje po spletu vam bo pokazalo, kako spremenite enega od teh napajalnikov.
Ob predpostavki, da ste spremenili napajalnik, gre preprosto za povezavo dolge priveze med napajalnikom in vijačnimi sponkami na kači.
Druga možnost je uporaba vgrajenega lipo akumulatorja. Tega nisem poskusil, zato boste morali sami oblikovati nosilec za baterije in jih priključiti. Upoštevajte delovne napetosti, trenutno napetost servomotorjev in Arduino (ne spajkajte nič drugega kot 5V na 5v pin na Arduinu, pojdite na pin Pin, če imate višjo napetost).
6. korak: Preverite, ali vse deluje
Preden nadaljujete, preizkusite, ali vse deluje. Naložite to kodo. Vaša kača bi morala premakniti vsak servo posamično med 0-180 in nato zaključiti z polaganjem v ravno črto. Če ne, potem je nekaj narobe, najverjetneje je ožičenje napačno ali servomotorji sprva niso bili centrirani pri 90 stopinjah, kot je omenjeno v razdelku "Sestavljanje kač".
7. korak: Koda
Za kačo trenutno ni daljinskega upravljalnika, vse gibanje je vnaprej programirano in lahko izberete, kaj želite. Daljinski upravljalnik bom razvil v različici 2, če pa ga želite upravljati na daljavo, predlagam, da si ogledate druge vaje o Instructables in prilagodite kačo, da bo združljiva z bluetoothom.
Če izdelujete 1D kačo, naložite to kodo.
Če izdelujete 2D kačo, naložite to kodo.
Spodbujam vas, da se poigrate s kodo, naredite lastne spremembe in ustvarite nove algoritme. Preberite naslednjih nekaj razdelkov za podrobno razlago vsake vrste gibanja in delovanja kode zanjo.
8. korak: Lestvice proti kolescem
Eden glavnih načinov, kako se kače lahko premikajo naprej, je oblika lusk. Tehtnice omogočajo lažje gibanje naprej. Za nadaljnjo razlago si oglejte ta videoposnetek od 3:04 naprej, da vidite, kako tehtnice pomagajo kači naprej. Če pogledate 3:14 v istem videu, vidite učinek, ko so kače v rokavu, s čimer se odstrani trenje tehtnice. Kot je prikazano v mojem videoposnetku v YouTubu, ko robotska 1D kača poskuša zdrsniti po travi brez tehtnice, se ne premika naprej ali nazaj, saj sile seštejejo na čisto nič. Zato moramo spodnjemu delu robota dodati nekaj umetnih lusk.
Raziskave pri ponovnem ustvarjanju gibanja s tehtnico so bile izvedene na univerzi Harvard in prikazane v tem videu. Nisem mogel oblikovati podobne metode za premikanje tehtnic navzgor in navzdol na svojem robotu in sem se namesto tega odločil za pritrditev pasivnih 3D natisnjenih lestvic na spodnji del trebuha.
Na žalost se je to izkazalo za neučinkovito (glej v mojem videoposnetku na YouTubu ob 3:38), saj se tehtnica še vedno preletava po površini preproge, namesto da bi se prijela za vlakna in povečala trenje.
Če želite eksperimentirati z lestvicami, ki sem jih naredil, lahko 3D datoteke natisnete z mojega GitHub -a. Če uspešno izdelate svojega, mi to sporočite v komentarjih spodaj!
Z drugačnim pristopom sem poskusil uporabiti kolesa iz krogličnih ležajev r188 s toplotno skrčljivo cevjo na zunanji strani kot "pnevmatike". Plastične kolesne osi lahko 3D natisnete iz datotek.stl na mojem GitHubu. Čeprav kolesa niso biološko natančna, so analogna tehtnicam, saj je vrtenje naprej enostavno, gibanje od strani do strani pa je bistveno težje. Uspešen rezultat koles lahko vidite v mojem videu na YouTubu.
9. korak: Drseče gibanje (kača z eno osjo)
Prva nagrada na tekmovanju Make it Move
Priporočena:
Arduino OLED Snake Game: 3 koraki
Arduino OLED Snake Game: Pozdravljeni in dobrodošli, v naših navodilih o tem, kako narediti in arduino OLED Game, je ta projekt nastal, ko smo poskušali narediti prvo igro z arduinom, takoooo, mislili smo, kje je bolje začeti kot nokia klasična kača (no vsaj
ESP32 VGA Snake: 5 korakov
ESP32 VGA Snake: V tem navodilu bom pokazal, kako reproducirati klasično arkadno igro - Snake - z ESP32 z izhodom za monitor VGA. Ločljivost je 640 x 350 slikovnih pik, v 8 barvah. Prej sem naredil različico z Arduino Uno (glej tukaj), vendar
Arduino Snake na monitorju VGA: 5 korakov
Arduino Snake na monitorju VGA: No … kupil sem Arduino. Sprva je bila naložba motivirana z nečim, kar bi hčerko zanimalo za programiranje. Vendar se je izkazalo, da se mi je s to stvar bolj zabavno igrati. Po igranju z izdelovanjem LED
LED Snake: 9 korakov
LED Snake: V tem navodilu vam bom pokazal, kako narediti svoje ustvarjanje, sestavljeno iz veliko in veliko LED, ki je po obliki podobno kači, LED Snake. Moja LED kača je dolga 1 meter, vi pa se odločite, kako dolga bo vaša. Kača je zabavna in izgleda
Kako priključiti mešalno ploščo in mikrofon Snake na zvočni sistem: 3 koraki
Kako priključiti mešalno ploščo in mikrofon Snake na zvočni sistem: Video zajema osnove povezovanja zvočnega mešalnika (mešalne plošče ali konzole) z zvočnim sistemom z uporabo kabla mikrofona. Zajema mikrofon in pošiljanje povezav. Za več informacij: http://proaudiotraining.com