Sadržaj:

Bioinspirirana robotska zmija: 16 koraka (sa slikama)
Bioinspirirana robotska zmija: 16 koraka (sa slikama)

Video: Bioinspirirana robotska zmija: 16 koraka (sa slikama)

Video: Bioinspirirana robotska zmija: 16 koraka (sa slikama)
Video: Тя е на 9 Години, но Нейният Стомах е Като Бременна 2024, Juli
Anonim
Image
Image

Bio sam inspiriran da započnem ovaj projekt nakon što sam vidio istraživačke video zapise robotskih zmija koje se penju na drvo i robotskih jegulja. Ovo je moj prvi pokušaj i izgradnja robota pomoću zmijolikog kretanja, ali neće biti zadnji! Pretplatite se na YouTube ako želite vidjeti budući razvoj.

U nastavku opisujem izgradnju 2 različite zmije zajedno s datotekama za 3D ispis i raspravu o kodu i algoritmima za postizanje zmijolikog kretanja. Ako želite nastaviti učiti više, nakon čitanja ovog uputstva predlažem da pročitate veze u odjeljku s referencama pri dnu stranice.

Ova instrukcija je tehnički 2-u-1, u kojoj objašnjavam kako napraviti 2 različite verzije robotske zmije. Ako ste samo zainteresirani za izgradnju jedne od zmija, zanemarite upute za drugu zmiju. Od sada će se na ove 2 različite zmije govoriti naizmjenično koristeći sljedeće izraze:

  1. Jednosmjerna zmija, 1D zmija ili žuta i crna zmija
  2. Dvoosna zmija, 2D zmija ili bijela zmija

Naravno, možete odštampati zmije u bilo kojoj boji boje koju želite. Jedina razlika između dvije zmije je ta što se u 2D zmiji svaki motor rotira 90 stupnjeva u odnosu na prethodni, dok su u 1D zmiji svi motori poravnati u jednoj osi.

Posljednji predgovor je da iako svaka od mojih zmija ima samo 10 servo -a, moguće je napraviti zmije s više ili manje servo -a. Jedna stvar koju treba uzeti u obzir je da ćete s manje servo pogona postići manje uspješno kretanje, a s više servomotora vjerovatno ćete biti uspješniji sa serpentinskim kretanjem, ali ćete morati uzeti u obzir cijenu, trenutno izvlačenje (pogledajte kasnije napomene) i broj pinova dostupno na Arduinu. Slobodno promijenite dužinu zmije, međutim imajte na umu da ćete također morati promijeniti kôd kako biste uzeli u obzir ovu promjenu.

Korak 1: Komponente

Ovo je popis dijelova za jednu zmiju, ako želite napraviti obje zmije, morat ćete udvostručiti volumen komponenti.

  • 10 servo servera MG996R*
  • 1,75 mm filament za 3D štampanje
  • 10 kugličnih ležajeva, broj dijela 608 (ja sam svoj spasio sa vanjskog ruba Jitterspin fidget spinnera)
  • 20 malih kugličnih ležajeva, broj dijela r188, za kotače ** (ja sam svoj spasio iz unutrašnjeg dijela Jitterspin fidget spinnera)
  • 40 vijaka sa philips glavom 6-32 x 1/2 "(ili slično)
  • 8 dužih vijaka (nemam broj dijela, ali su istog promjera kao gornji vijci)
  • Najmanje 20 komada patentnih zatvarača od 4 inča (na vama je koliko želite koristiti)
  • Po 5 metara crvene i crne žice promjera 20 ili deblje ***
  • Standardna žica kalibra 22
  • 30 muških pinova zaglavlja (podijeljeno u 10 lotova po 3)
  • Arduino Nano
  • 3D štampani dijelovi (pogledajte sljedeći odjeljak)
  • Neki oblik napajanja (za više informacija pogledajte odjeljak: "Snaga zmije"), osobno sam koristio modificirano ATX napajanje
  • 1000uF 25V elektrolitički kondenzator
  • Termoskupljajuće cijevi različitih veličina, lemljenje, ljepilo i drugi razni alati

*možete koristiti druge vrste, ali ćete morati redizajnirati 3D datoteke kako bi odgovarale vašim servo pogonima. Također, ako pokušate koristiti manje servomotore poput sg90, možda ćete otkriti da nisu dovoljno jaki (ovo nisam testirao i na vama je da eksperimentirate).

** ne morate koristiti male kuglične ležajeve za kotače, samo sam puno ležao. Alternativno, možete koristiti LEGO kotače ili druge kotače za igračke.

*** Ova žica može imati do 10 ampera koja prolazi kroz nju, previše je tanka i struja će je otopiti. Za više informacija pogledajte ovu stranicu.

Korak 2: Komponente 3D štampanja

Skupština zmija
Skupština zmija

Ako izrađujete 1D zmiju, ispišite ove komade.

Ako izrađujete 2D zmiju, ispišite ove komade.

Važna napomena: Skala je možda pogrešna! Dizajnirao sam svoje komponente u Fusion 360 (u mm jedinicama), izvezao dizajn kao.stl datoteku u MakerBot softver, a zatim ga odštampao na štampaču Qidi Tech (klonirana verzija MakerBot Replicator 2X). Negdje duž ovog toka posla postoji greška i svi moji ispisi izlaze premali. Nisam uspio identificirati lokaciju greške, ali imam privremeno rješenje za skaliranje svakog ispisa na veličinu 106% u softveru MakerBot, ovo rješava problem.

S obzirom na to, upozorite vas da ako ispisujete gornje datoteke, one se mogu pogrešno skalirati. Predlažem da odštampate samo jedan komad i provjerite odgovara li vašem servo MG996R prije nego što ih sve odštampate.

Ako ipak odštampate bilo koju datoteku, obavijestite me o ishodu: ako je otisak premalen, taman koliko je velik, i za koliko posto. Radeći zajedno kao zajednica možemo riješiti probleme sa greškom koristeći različite 3D štampače i.stl rezače. Kad se problem riješi, ažurirat ću ovaj odjeljak i gornje veze.

Korak 3: Sastavljanje zmija

Skupština zmija
Skupština zmija
Skupština zmija
Skupština zmija
Skupština zmija
Skupština zmija

Postupak montaže uglavnom je isti za obje verzije zmije. Jedina razlika je u tome što se u 2D zmiji svaki motor rotira 90 stupnjeva u odnosu na prethodni, dok su u 1D zmiji svi motori poravnati u jednoj osi.

Počnite odvrtanjem servo pogona, sačuvajte vijke i uklonite gornje i donje dijelove crnog plastičnog okvira i pazite da ne izgubite bilo koji zupčanik! Gurnite servo u 3D štampani okvir, orijentisan kao na gornjim slikama. Zamijenite gornji dio servo kućišta i pričvrstite ga s četiri vijka 6-32 1/2 . Sačuvajte dno servo okvira (u slučaju da ga želite ponovo koristiti u kasnijim projektima) i zamijenite ga 3D štampana kutija, jedina razlika je dodatno dugme za proklizavanje kugličnog ležaja. Zašrafite servo nazad, ponovite 10 puta.

VAŽNO: Prije nastavka morate prenijeti kôd na Arduino i pomaknuti svaki servo na 90 stupnjeva. Ako to ne učinite, može doći do loma jednog ili više servo i/ili 3D ispisanih okvira. Ako niste sigurni kako pomaknuti servo na 90 stupnjeva, pogledajte ovu stranicu. U osnovi povežite crvenu žicu serva na 5V na Arduinu, smeđu žicu na GND i žutu žicu na digitalni pin 9, a zatim učitajte kôd na vezu.

Sada kada je svaki servo pod 90 stupnjeva, nastavite:

Povežite 10 segmenata umetanjem 3D štampanog dugmeta iz jednog servo kućišta u rupu drugog komada segmenta, a zatim sa malo sile gurnite osovinu servo u njegovu rupu (za jasnost pogledajte gornje slike i video zapis). Ako pravite 1D zmiju, svi segmenti trebaju biti poravnati, ako pravite 2D zmiju, svaki segment treba rotirati 90 stupnjeva u odnosu na prethodni segment. Imajte na umu da su okvir repa i glave samo polovica duljine ostalih segmenata, povežite ih, ali ne komentirajte dijelove u obliku piramide sve dok ne završimo ožičenje.

Pričvrstite servo krak u obliku slova X i pričvrstite ga na mjesto. Gurnite kuglični ležaj preko 3D štampanog dugmeta, to će zahtijevati lagano stiskanje 2 polukružna stupa zajedno. Ovisno o marki filamenta koju koristite i gustoći ispune, stubovi mogu biti previše lomljivi i puknuti, mislim da to neće biti slučaj, ali ipak nemojte koristiti pretjeranu silu. Lično sam koristio PLA filament sa ispunom od 10%. Nakon što je kuglični ležaj uključen, trebao bi ostati zaključan prevjesima na ručki.

Korak 4: Krug

Krug
Krug
Krug
Krug
Krug
Krug

Krug je isti za obje robotske zmije. Tijekom procesa ožičenja provjerite ima li dovoljno prostora za ožičenje za svaki segment da se potpuno okrene, posebno kod 2D zmije.

Iznad je dijagram spoja za ožičenje sa samo 2 serva. Pokušao sam nacrtati strujno kolo sa 10 servo -a, ali postalo je previše. Jedina razlika između ove slike i stvarnog života je ta što morate paralelno spojiti još 8 servo -a i spojiti PWM signalne žice na pinove na Arduino Nano -u.

Prilikom ožičenja električnih vodova koristio sam jedan komad žice kalibra 18 (dovoljno debljine da izdrži 10 ampera) kao glavni 5V vod koji se proteže dužinom zmije. Korištenjem skidača žica uklonio sam mali dio izolatora u 10 pravilnih razmaka i lemio kratki komad žice sa svakog od ovih intervala grupu od 3 muška zatiča. Ponovite ovo drugi put za crnu žicu GND od 18 kalibra i drugu mušku iglu zaglavlja. Konačno lemite dužu žicu na 3. muški pin zaglavlja, ovaj pin će prenositi PWM signal na servo iz Arduino Nano -a u glavi zmije (žica mora biti dovoljno duga da može doseći, čak i kad se segmenti savijaju). Po potrebi pričvrstite termoskupljajuću cijev. Spojite 3 muška zatika zaglavlja i 3 ženska zatika zaglavlja servo žica. Ponovite 10 puta za svaki od 10 servo pogona. Na kraju, ovo se postiže paralelnim povezivanjem servo upravljača i postavljanjem PWM signalnih žica na Nano. Razlog za muške/ženske zaglavlje zaglavlja bio je taj što možete lako odvojiti segmente i zamijeniti servo pogone ako se pokvare, a da sve ne raspajkate.

Lemiti žice GND i 5V na ploču sa rupom 3x7 rupa u repu s kondenzatorom i vijčanim stezaljkama. Svrha kondenzatora je uklanjanje bilo kakvih skokova struje uzrokovanih pri pokretanju servomotora, koji mogu resetirati Arduino Nano (ako nemate kondenzator, vjerojatno ćete se moći izvući bez njega, ali bolje je biti siguran). Upamtite da dugi zupci elektrolitičkih kondenzatora moraju biti spojeni na 5V vod, a kraći na GND vod. Lemite GND žicu na GND pin Nano -a i 5V žicu na 5V pin. Imajte na umu da ako koristite drugačiji napon (pogledajte sljedeći odjeljak), recimo Lipo bateriju sa 7,4 V, zatim povežite crvenu žicu na Vin pin, NE na 5V pin, time ćete uništiti pin.

Lemite 10 PWM signalnih žica na pinove na Arduino Nano. Ja sam svoje spojio sljedećim redoslijedom, možete odabrati da svoje povežete drugačije, ali samo zapamtite da ćete tada morati promijeniti redove servo.attach () u kodu. Ako niste sigurni o čemu govorim, povežite to na isti način kao i ja i nećete imati problema. Kako bih od servo servera na repu zmije do glave zmije spojio obje svoje zmije sljedećim redoslijedom. Povezivanje signalnih pinova na: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Očistite ožičenje pomoću patentnih zatvarača. Prije nego nastavite, provjerite mogu li se svi segmenti pomicati s dovoljno prostora za pomicanje žica bez razdvajanja. Sada kada je ožičenje završeno, možemo pričvrstiti kape i piramidalne kape glave i repa. Imajte na umu da rep ima rupu za izvlačenje priveza, a glava ima rupu za Arduino programski kabel.

Korak 5: Napajanje zmije

Snaga Zmije
Snaga Zmije
Snaga Zmije
Snaga Zmije
Snaga Zmije
Snaga Zmije

Budući da su servovodi paralelno ožičeni, svi dobivaju isti napon, ali se struja mora zbrajati. Gledajući tehnički list za servo pogone MG996r, oni mogu pokrenuti do 900mA svaki tijekom rada (pod pretpostavkom da nema zastoja). Dakle, ukupna potrošnja struje ako se svih 10 servo pogona pomiče istovremeno je 0,9A*10 = 9A. Kao takav normalni 5v, 2A adapter za zidnu utičnicu neće raditi. Odlučio sam promijeniti ATX napajanje, sposobno za 5v na 20A. Neću objašnjavati kako to učiniti, jer je o Instructables -u i YouTube -u već bilo dosta govora. Brzo pretraživanje na mreži pokazat će vam kako izmijeniti jedno od ovih izvora napajanja.

Pod pretpostavkom da ste izmijenili izvor napajanja, to je jednostavno slučaj spajanja duge trake između izvora napajanja i vijčanih priključaka na zmiji.

Druga mogućnost je korištenje ugrađene lipo baterije. Nisam ovo probao, pa će na vama biti da dizajnirate nosač za baterije i spojite ih. Imajte na umu radni napon, strujno napajanje servo -a i Arduina (nemojte lemiti ništa osim 5V na 5v pin na Arduinu, idite na Vin pin ako imate veći napon).

Korak 6: Testirajte da li sve funkcionira

Prije nego nastavimo, samo testiramo da li sve radi. Otpremite ovaj kôd. Vaša zmija bi trebala pomaknuti svaki servo pogon između 0-180, a zatim završiti polaganjem u ravnu liniju. Ako to ne znači da nešto nije u redu, najvjerojatnije je ožičenje pogrešno ili servo motori u početku nisu bili centrirani pod 90 stupnjeva kako je spomenuto u odjeljku "Sastavljanje zmija".

Korak 7: Kodirajte

Trenutačno ne postoji daljinski upravljač za zmiju, svi pokreti su unaprijed programirani i možete odabrati što želite. Razvit ću daljinski upravljač u verziji 2, ali ako želite daljinskim upravljanjem, predlažem da pogledate druge vodiče o Instructables -u i prilagodite zmiju da bude kompatibilna s bluetoothom.

Ako pravite 1D zmiju, prenesite ovaj kôd.

Ako stvarate 2D zmiju, prenesite ovaj kôd.

Potičem vas da se poigrate sa kodom, unesete vlastite izmjene i stvorite nove algoritme. Pročitajte sljedećih nekoliko odjeljaka za detaljno objašnjenje svake vrste kretanja i kako funkcionira kod za nju.

Korak 8: Vaga protiv točkova

Vage protiv točkova
Vage protiv točkova
Vage protiv točkova
Vage protiv točkova
Vage protiv točkova
Vage protiv točkova
Vage protiv točkova
Vage protiv točkova

Jedan od glavnih načina na koji se zmije mogu kretati naprijed je oblik njihove ljuske. Vaga omogućava lakše kretanje prema naprijed. Za daljnja objašnjenja pogledajte ovaj video od 3:04 pa nadalje kako biste vidjeli kako vaga pomaže zmiji da krene naprijed. Gledajući 3:14 u istom videu pokazuje se učinak kada su zmije u rukavu, uklanjajući trenje vage. Kao što je prikazano u mom YouTube videu, kada robotska 1D zmija pokušava kliziti po travi bez ljuskica, ne pomiče se ni naprijed ni nazad jer se sile zbrajaju na neto nulu. Kao takvi, moramo dodati neke umjetne ljestvice ispod stomaka robota.

Istraživanje o ponovnom kretanju kretanja putem vage provedeno je na Univerzitetu Harvard i pokazano u ovom videu. Nisam bio u mogućnosti smisliti sličnu metodu za pomicanje vaga gore -dolje na svom robotu, već sam umjesto toga pristao na pričvršćivanje pasivnih 3D ispisanih vaga na ispod trbuha.

Nažalost, ovo se pokazalo nedjelotvornim (pogledajte u mom video zapisu na YouTubeu u 3:38) jer je vaga i dalje prelazila preko površine tepiha umjesto da se uhvati za vlakna i poveća trenje.

Ako želite eksperimentirati s vagama koje sam napravio, možete 3D ispisati datoteke s mog GitHub -a. Ako uspješno napravite svoj, javite mi u komentarima ispod!

Koristeći drugačiji pristup, pokušao sam koristiti kotače napravljene od kugličnih ležajeva r188 sa termoskupljajućom cijevi izvana kao 'gume'. Možete 3D ispisati plastične osovine kotača iz.stl datoteka na mom GitHubu. Iako kotači nisu biološki precizni, analogni su vagama po tome što je okretanje prema naprijed lako, ali je kretanje sa strane znatno teže. Uspješan rezultat kotača možete vidjeti u mom YouTube videu.

Korak 9: Klizanje (zmija s jednom osovinom)

Prva nagrada na takmičenju Make it Move

Preporučuje se: