Cuprins:

Șarpe robotizat bioinspirat: 16 pași (cu imagini)
Șarpe robotizat bioinspirat: 16 pași (cu imagini)

Video: Șarpe robotizat bioinspirat: 16 pași (cu imagini)

Video: Șarpe robotizat bioinspirat: 16 pași (cu imagini)
Video: 🤩 ROBO ALIVE - ȘOPÂRLA ȘI ȘARPELE ROBOT 🦎🐍 2024, Iulie
Anonim
Image
Image

Am fost inspirat să încep acest proiect după ce am văzut videoclipuri de cercetare atât pe copaci care se cățărău pe șerpi robotici, cât și pe anghile robotizate. Aceasta este prima mea încercare și construirea roboților folosind locomoția serpentină, dar nu va fi ultima mea! Abonați-vă pe YouTube dacă doriți să vedeți evoluții viitoare.

Mai jos am prezentat construcția a 2 șerpi diferiți împreună cu fișierele pentru imprimarea 3D și o discuție despre cod și algoritmi pentru a obține mișcare de tip șarpe. Dacă doriți să continuați să aflați mai multe, după ce ați citit acest instructable, vă sugerez să citiți linkurile din secțiunea referințe din partea de jos a paginii.

Acest instructable este tehnic un 2-în-1, prin faptul că explic cum să faci 2 versiuni diferite ale unui șarpe robotizat. Dacă sunteți interesat doar să construiți unul dintre șerpi, ignorați instrucțiunile pentru celălalt șarpe. Acești 2 șerpi diferiți vor fi denumiți de aici înainte folosind următoarele expresii în mod interschimbabil:

  1. Șarpe cu o singură axă, șarpe 1D sau șarpe galben și negru
  2. Șarpe cu ax dublu, șarpe 2D sau șarpe alb

Desigur, puteți imprima șerpii în orice filament de culoare doriți. Singura diferență dintre cei doi șerpi este că la șarpele 2D fiecare motor este rotit cu 90 de grade față de precedent, în timp ce la șarpele 1D toate motoarele sunt aliniate într-o singură axă.

O ultimă prefață este că, deși fiecare dintre șerpii mei au doar 10 servouri, este posibil să fac șerpii cu mai multe sau mai puține servouri. Un lucru de luat în considerare este că, cu mai puține servouri, veți obține o mișcare mai puțin reușită și, cu mai multe servouri, veți avea probabil mai mult succes cu mișcarea serpentină, dar va trebui să luați în considerare costul, extragerea curentă (a se vedea observațiile ulterioare) și numărul de pini disponibil pe Arduino. Simțiți-vă liber să modificați lungimea șarpelui, însă rețineți că va trebui să modificați și codul pentru a explica această modificare.

Pasul 1: Componente

Aceasta este o listă de piese pentru un singur șarpe, dacă doriți să faceți ambii șerpi, va trebui să dublați volumul componentelor.

  • 10 servere MG996R *
  • Filament de imprimare 3D de 1,75 mm
  • 10 rulmenți cu bile, numărul piesei 608 (am salvat-o pe a mea de pe janta exterioară a filatoarelor Jitterspin)
  • 20 de rulmenți mici cu bile, numărul piesei r188, pentru roți ** (am salvat-o pe a mea din partea interioară a filatoarelor Jitterspin fidget)
  • 40 șuruburi Philips 6-32 x 1/2 "(sau similar)
  • 8 șuruburi mai lungi (nu am un număr de piesă, dar au același diametru ca șuruburile de mai sus)
  • Cel puțin 20 de bucăți de zipties de 4 inci (depinde de tine câte vrei să folosești)
  • 5m fiecare din sârmă de calibru 20 roșu și negru sau mai groasă ***
  • Sârmă standard cu ecartament 22
  • 30 pini antet masculin (împărțiți în 10 loturi de 3)
  • Arduino Nano
  • Piese tipărite 3D (vezi secțiunea următoare)
  • O anumită formă de energie (a se vedea secțiunea: „Alimentarea șarpelui” pentru mai multe informații), am folosit personal o sursă de alimentare ATX modificată
  • Condensator electrolitic 1000uF 25V
  • Tub termocontractabil de diferite dimensiuni, lipit, lipit și alte instrumente diverse

* puteți utiliza alte tipuri, dar va trebui să reproiectați fișierele 3D pentru a se potrivi cu servo-urile dvs. De asemenea, dacă încercați să utilizați servo mai mici, cum ar fi sg90, este posibil să găsiți că nu sunt suficient de puternici (nu am testat acest lucru și va depinde de dvs. să experimentați).

** nu este nevoie să folosiți rulmenți cu bile mici pentru roți, doar că am avut multe lucruri în jurul meu. Alternativ, puteți folosi roți LEGO sau alte roți de jucărie.

*** Acest fir poate trece până la 10 amperi, prea subțire și curentul îl va topi. Consultați această pagină pentru mai multe informații.

Pasul 2: Componente de imprimare 3D

Adunarea Șerpilor
Adunarea Șerpilor

Dacă faceți șarpele 1D imprimați aceste piese.

Dacă faceți șarpele 2D imprimați aceste piese.

Notă importantă: scala poate fi greșită! Mi-am proiectat componentele în Fusion 360 (în unități mm), am exportat designul ca fișier.stl în software-ul MakerBot și apoi l-am tipărit pe o imprimantă Qidi Tech (o versiune clonă a MakerBot Replicator 2X). Undeva de-a lungul acestui flux de lucru există o eroare și toate tipăriturile mele ies prea mici. Nu am reușit să identific locația erorii, dar am o soluție temporară de scalare a fiecărei tipăriri la dimensiunea de 106% în software-ul MakerBot, aceasta rezolvă problema.

Având în vedere acest lucru, fiți avertizat că, dacă imprimați fișierele de mai sus, acestea pot fi scalate incorect. Vă sugerez să imprimați o singură bucată și să verificați dacă se potrivește cu servo-ul dvs. MG996R înainte de a le imprima pe toate.

Dacă tipăriți oricare dintre fișiere, vă rugăm să-mi spuneți care este rezultatul: dacă tipărirea este prea mică, corect, prea mare și cu cât procent. Lucrând împreună ca o comunitate putem depana locația erorii folosind diferite imprimante 3D și tăietoare.stl. Odată ce problema este rezolvată, voi actualiza această secțiune și linkurile de mai sus.

Pasul 3: Asamblarea Șerpilor

Adunarea Șerpilor
Adunarea Șerpilor
Adunarea Șerpilor
Adunarea Șerpilor
Adunarea Șerpilor
Adunarea Șerpilor

Procesul de asamblare este în mare parte același pentru ambele versiuni ale șarpelui. Singura diferență este că la șarpele 2D fiecare motor este rotit cu 90 de grade față de precedent, în timp ce la șarpele 1D toate motoarele sunt aliniate într-o singură axă.

Începeți prin deșurubarea servo-ului, salvați șuruburile și îndepărtați piesele superioare și inferioare ale cadrului de plastic negru și aveți grijă să nu pierdeți nici un angrenaj! Glisați servo-ul în cadrul tipărit 3D, orientat ca în imaginile de mai sus. Înlocuiți partea superioară a carcasei servo și înșurubați-o cu patru șuruburi de 6-32 1/2 . Salvați partea inferioară a cadrului servo (în cazul în care doriți să-l utilizați din nou în proiectele ulterioare) și înlocuiți-l cu 3D carcasa tipărită, singura diferență fiind butonul suplimentar pentru a aluneca un rulment cu bile. Înșurubați servo-ul la loc împreună, repetați de 10 ori.

IMPORTANT: Înainte de a continua, trebuie să încărcați codul pe Arduino și să mutați fiecare servo la 90 de grade. Nerespectarea acestui lucru poate duce la ruperea unuia sau mai multor servo și / sau a cadrelor imprimate 3D. Dacă nu sunteți sigur cum să mutați un servo la 90 de grade, consultați această pagină. Conectați practic firul roșu al servo-ului la 5V pe Arduino, firul maro la GND și firul galben la pinul digital 9, apoi încărcați codul în link.

Acum că fiecare servo este la 90 de grade, continuați:

Conectați cele 10 segmente introducând butonul tipărit 3D dintr-o carcasă servo în gaura unei a doua bucăți de segment, apoi cu puțină forță împingeți axa servo în gaura sa (a se vedea imaginile de mai sus și video pentru claritate). Dacă faceți șarpele 1D, toate segmentele ar trebui aliniate, dacă faceți șarpele 2D, fiecare segment trebuie rotit cu 90 de grade față de segmentul anterior. Rețineți că cadrul cozii și capului au doar jumătate din lungimea celorlalte segmente, conectați-le, dar nu comentați piesele în formă de piramidă decât după ce am terminat cablarea.

Atașați brațul servo în formă de x și înșurubați-l în poziție. Glisați rulmentul cu bile peste butonul imprimat 3D, acest lucru va necesita strângerea ușoară a celor 2 stâlpi semi-cerc împreună. În funcție de marca de filament pe care o utilizați și de densitatea umpluturilor, stâlpii pot fi prea fragili și pot fi rupți, nu cred că acest lucru va fi cazul, dar totuși nu folosesc forța excesivă. Am folosit personal filament PLA cu umplutură de 10%. Odată ce rulmentul cu bile este pornit, acesta ar trebui să rămână blocat de consolele de pe buton.

Pasul 4: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Circuitul este același pentru ambii șerpi robotici. În timpul procesului de cablare asigurați-vă că există suficient spațiu de cablare pentru ca fiecare segment să se rotească complet, în special la șarpele 2D.

Deasupra este o schemă de circuit pentru cablarea cu doar 2 servo-uri. Am încercat să fac un desen cu 10 servouri, dar a devenit mult prea aglomerat. Singura diferență dintre această imagine și viața reală este că trebuie să conectați încă 8 servouri în paralel și să conectați firele de semnal PWM la pinii de pe Arduino Nano.

Când am cablat liniile de alimentare, am folosit o singură bucată de sârmă de calibru 18 (suficient de groasă pentru a rezista la 10 amp), ca linie principală de 5V care rulează pe lungimea șarpelui. Folosind decapantele de sârmă am îndepărtat o mică secțiune de izolator la 10 intervale regulate și am lipit o bucată scurtă de sârmă din fiecare dintre aceste intervale un grup de 3 știfturi masculine. Repetați acest lucru a doua oară pentru firul GND negru cu calibru 18 și un al doilea pin masculin. În cele din urmă lipiți un fir mai lung la cel de-al treilea pin masculin, acest pin va transporta semnalul PWM către servo de la Arduino Nano în capul șarpelui (firul trebuie să fie suficient de lung pentru a ajunge, chiar și atunci când segmentele se îndoaie). Atașați tubul termocontractabil, după cum este necesar. Conectați cei 3 pini antet masculi și cei 3 pini antet femelă ai firelor servo. Repetați de 10 ori pentru fiecare dintre cele 10 servouri. În cele din urmă, ceea ce se realizează este conectarea servo-urilor în paralel și rularea firelor de semnal PWM către Nano. Motivul pinilor antetului masculin / feminin a fost acela că puteți desprinde cu ușurință segmente și înlocui servomotoarele dacă se rup fără a dezvălui totul.

Lipiți firele GND și 5V pe o placă de perfecționare 3x7 în coadă cu un condensator și borne cu șurub. Scopul condensatorului este de a elimina orice vârfuri de curent cauzate la pornirea servoarelor, care pot reseta Arduino Nano (dacă nu aveți un condensator, probabil că puteți scăpa fără el, dar este mai bine să fiți în siguranță). Amintiți-vă că vârful lung al condensatorilor electrolitici trebuie să fie conectat la linia de 5V, iar vârful mai scurt la linia GND. Lipiți firul GND pe pinul GND al Nano și firul de 5V pe pinul de 5V. Rețineți dacă utilizați o tensiune diferită (vezi secțiunea următoare), spuneți o baterie Lipo cu 7.4V, apoi conectați firul roșu la pinul Vin, NU pinul de 5V, făcând acest lucru, veți distruge pinul.

Lipiți cele 10 fire de semnal PWM pe pinii de pe Arduino Nano. Am conectat-o pe a mea în următoarea ordine, puteți alege să o conectați diferit, dar nu uitați că va trebui să schimbați liniile servo.attach () din cod. Dacă nu sunteți sigur despre ce vorbesc, conectați-l la fel ca mine și nu veți avea probleme. În ordine de la servo de la coada șarpelui până la capul șarpelui, mi-am conectat ambii șerpi în ordinea următoare. Conectarea pinilor de semnal la: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Utilizați zipties pentru a curăța cablajul. Înainte de a continua, verificați dacă toate segmentele se pot deplasa cu suficient spațiu pentru ca firele să se deplaseze fără a fi despărțite. Acum, când cablajul este terminat, putem înșuruba capul și coada capace în formă de piramidă. Rețineți că coada are o gaură pentru a ieși din ancoră, iar capul are o gaură pentru cablul de programare Arduino.

Pasul 5: Alimentarea șarpelui

Alimentarea Șarpelui
Alimentarea Șarpelui
Alimentarea Șarpelui
Alimentarea Șarpelui
Alimentarea Șarpelui
Alimentarea Șarpelui

Deoarece servo-urile sunt cablate în paralel, toate obțin aceeași tensiune, dar curentul trebuie adăugat. Privind fișa tehnică pentru servomotoarele MG996r, acestea pot extrage până la 900mA fiecare în timp ce rulează (presupunând că nu se blochează). Astfel, extragerea totală a curentului dacă toate cele 10 servome se deplasează în același timp este de 0,9A * 10 = 9A. Ca un astfel de adaptor de priză de perete normal de 5V, 2A nu va funcționa. Am decis să modific o sursă de alimentare ATX, capabilă de 5v la 20A. Nu am de gând să explic cum să fac acest lucru, deoarece s-a discutat deja foarte mult pe Instructables și YouTube. O căutare rapidă online vă va arăta cum să modificați una dintre aceste surse de alimentare.

Presupunând că ați modificat sursa de alimentare, este pur și simplu un caz de conectare a unei legături lungi între sursa de alimentare și bornele cu șurub de pe șarpe.

O altă opțiune este utilizarea unui acumulator lipo la bord. Nu am încercat acest lucru, așa că va depinde de dvs. să proiectați un suport pentru baterii și să le conectați. Rețineți tensiunile de funcționare, consumul de curent al servo-urilor și Arduino (nu lipiți altceva decât 5v la pinul de 5v de pe Arduino, mergi la pinul de Vin dacă ai o tensiune mai mare).

Pasul 6: Testați totul funcționează

Înainte de a continua, să testăm totul funcționează. Încărcați acest cod. Șarpele dvs. ar trebui să deplaseze fiecare servo individual între 0-180 și apoi să termine prin așezare în linie dreaptă. Dacă nu, atunci ceva nu este în regulă, cel mai probabil cablajul este incorect sau servo-urile nu au fost inițial centrate la 90 de grade, așa cum se menționează în secțiunea „Asamblarea șerpilor”.

Pasul 7: Cod

În prezent nu există telecomandă pentru șarpe, toată mișcarea este preprogramată și puteți alege ce doriți. Voi dezvolta o telecomandă în versiunea 2, dar dacă doriți să o controlați de la distanță, vă recomand să căutați alte tutoriale pe Instructables și să adaptați șarpele pentru a fi compatibil cu Bluetooth.

Dacă faceți șarpele 1D, încărcați acest cod.

Dacă faceți șarpele 2D, încărcați acest cod.

Vă încurajez să jucați cu codul, să faceți propriile modificări și să creați noi algoritmi. Citiți următoarele secțiuni pentru o explicație detaliată a fiecărui tip de locomoție și cum funcționează codul pentru aceasta.

Pasul 8: Cântare împotriva roților

Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți
Cântar Vs Roți

Unul dintre principalele moduri în care șerpii sunt capabili să avanseze este prin forma solzilor lor. Cântarele permit o mișcare mai ușoară înainte. Pentru o explicație suplimentară, urmăriți acest videoclip începând cu 3:04 pentru a vedea cum solzii îl ajută pe șarpe să avanseze. Privirea la 3:14 din același videoclip arată efectul atunci când șerpii sunt într-un manșon, eliminând fricțiunea solzilor. Așa cum se arată în videoclipul meu de pe YouTube, când șarpele robot 1D încearcă să alunece pe iarbă fără solzi, nici nu se mișcă înainte sau înapoi, deoarece forțele se ridică la zero net. Ca atare, trebuie să adăugăm o parte din solzi artificiali la nivelul abdomenului inferior al robotului.

Cercetările privind recrearea locomoției prin cântare au fost făcute la Universitatea Harvard și demonstrate în acest videoclip. Nu am reușit să concep o metodă similară pentru a mișca cântarele în sus și în jos pe robotul meu și, în schimb, m-am mulțumit să atașez cântare imprimate 3D pasive la nivelul abdomenului.

Din păcate, acest lucru s-a dovedit ineficient (a se vedea în videoclipul meu de la YouTube la 3:38), deoarece cântarele încă scăpau pe suprafața covorului, în loc să prindă fibrele și să mărească frecarea.

Dacă doriți să experimentați cu scările pe care le-am făcut, puteți imprima fișierele 3D din GitHub. Dacă îți faci propriul cu succes, anunță-mă în comentariile de mai jos!

Folosind o abordare diferită, am încercat să folosesc roți fabricate din rulmenți cu bile r188 cu tuburi termocontractabile peste exterior ca „anvelope”. Puteți imprima 3D axele roților din plastic din fișierele.stl de pe GitHub. Deși roțile nu sunt precise din punct de vedere biologic, ele sunt similare cu cântarele, deoarece rotația înainte este ușoară, dar mișcarea laterală este semnificativ mai dură. Puteți vedea rezultatul reușit al roților în videoclipul meu de pe YouTube.

Pasul 9: Mișcare slithering (șarpe cu o singură axă)

Premiul I în concursul Make it Move

Recomandat: